3 releases
0.1.2 | May 7, 2024 |
---|---|
0.1.1 | May 7, 2024 |
0.1.0 | May 7, 2024 |
#254 in Images
363 downloads per month
Used in gpt4ocr
19KB
358 lines
pdf2image
A simplified port of Python's pdf2image
that wraps pdftoppm
and pdftocairo
(part of poppler) to convert PDFs to image::DynamicImage
s.
Installation
Add to your project: cargo add pdf2image
pdf2image
requires poppler
to be installed.
Windows
Windows users will have to build or download poppler
for Windows. Python's pdf2image
maintainer recommends @oschwartz10612 version. You will then have to add the bin/
folder to PATH or use the environment variable PDF2IMAGE_POPPLER_PATH
.
macOS
using homebrew:
brew install poppler
Linux
Most distros ship with pdftoppm
and pdftocairo
. If they are not installed, refer to your package manager to install poppler-utils
Platform-independent (Using conda
)
- Install
poppler
:conda install -c conda-forge poppler
- Install
pdf2image
:pip install pdf2image
Quick Start
use pdf2image::{PDF2ImageError, RenderOptionsBuilder, PDF};
fn main() -> Result<(), PDF2ImageError> {
let pdf = PDF::from_file("examples/pdfs/ropes.pdf").unwrap();
let pages = pdf.render(
pdf2image::Pages::Range(1..=8),
RenderOptionsBuilder::default().build()?,
);
println!("{:?}", pages.unwrap().len());
Ok(())
}
Changelog
- Reviewed all occurences of
.unwrap()
, refactored unnecessary ones to return errors and added comments detailing why it is safe to call (Thank you @qarmin!).
License
pdf2image
includes code derived from Edouard Belval's pdf2image
Python module, which is MIT licensed. Similarly, pdf2image
is also licensed under the MIT License.
Dependencies
~4.5MB
~85K SLoC