1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! # Overview
//!
//! This crate is a modified version of https://github.com/styrowolf/pdf2image with some changes that make it easier and cheaper to
//! render single pages
//!
//! It requires `poppler` to be installed on your system. You can follow the instructions found in the [README.md file which is most easily viewed on
//! github](https://github.com/jacobtread/pdf2image/blob/main/README.md).
//!
//! ## Quick Start
//!
//! ```rust
//! use pdf2image_alt::{PDF2ImageError, RenderOptionsBuilder, PdfInfo, render_pdf_multi_page};
//!
//! fn main() -> Result<(), PDF2ImageError> {
//!     let data = std::fs::read("examples/pdfs/ropes.pdf").unwrap();
//!     let pdf_info = PdfInfo::try_from(data.as_slice()).unwrap();
//!     let options = RenderOptionsBuilder::default().pdftocairo(true).build()?;
//!     let pages = render_pdf_multi_page(&data, &pdf_info, pdf2image_alt::Pages::Range(1..=8), &options);
//!
//!     Ok(())
//! }
//! ```

mod error;
mod pdf;
mod render_options;

pub use error::{PDF2ImageError, Result};
pub use pdf::{render_pdf_multi_page, render_pdf_single_page, Pages, PdfInfo};
pub use render_options::{Crop, Password, RenderOptions, RenderOptionsBuilder, Scale, DPI};

// re-export image crate
pub use image;