pub struct Pdf { /* private fields */ }
Expand description
A PDF file.
Implementations§
Source§impl Pdf
impl Pdf
Sourcepub fn new(data: PdfData) -> Result<Self, LoadPdfError>
pub fn new(data: PdfData) -> Result<Self, LoadPdfError>
Try to read the given PDF file.
Returns None
if it was unable to read it.
Examples found in repository?
examples/iterate.rs (line 18)
7fn main() {
8 // First load the data that constitutes the PDF file.
9 let data = std::fs::read(
10 PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../hayro-tests/pdfs/text_with_rise.pdf"),
11 )
12 .unwrap();
13
14 // Then create a new PDF file from it.
15 //
16 // Here we are just unwrapping in case reading the file failed, but you
17 // might instead want to apply proper error handling.
18 let pdf = Pdf::new(Arc::new(data)).unwrap();
19
20 // First access all pages, and then iterate over the operators of each page's
21 // content stream and print them.
22 let pages = pdf.pages();
23 for page in pages.iter() {
24 for op in page.typed_operations() {
25 println!("{op:?}");
26 }
27 }
28}
Sourcepub fn objects(&self) -> impl IntoIterator<Item = Object<'_>>
pub fn objects(&self) -> impl IntoIterator<Item = Object<'_>>
Return an iterator over all objects defined in the PDF file.
Sourcepub fn version(&self) -> PdfVersion
pub fn version(&self) -> PdfVersion
Return the version of the PDF file.
Sourcepub fn pages(&self) -> &Pages<'_>
pub fn pages(&self) -> &Pages<'_>
Return the pages of the PDF file.
Examples found in repository?
examples/iterate.rs (line 22)
7fn main() {
8 // First load the data that constitutes the PDF file.
9 let data = std::fs::read(
10 PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../hayro-tests/pdfs/text_with_rise.pdf"),
11 )
12 .unwrap();
13
14 // Then create a new PDF file from it.
15 //
16 // Here we are just unwrapping in case reading the file failed, but you
17 // might instead want to apply proper error handling.
18 let pdf = Pdf::new(Arc::new(data)).unwrap();
19
20 // First access all pages, and then iterate over the operators of each page's
21 // content stream and print them.
22 let pages = pdf.pages();
23 for page in pages.iter() {
24 for op in page.typed_operations() {
25 println!("{op:?}");
26 }
27 }
28}
Auto Trait Implementations§
impl Freeze for Pdf
impl !RefUnwindSafe for Pdf
impl Send for Pdf
impl Sync for Pdf
impl Unpin for Pdf
impl !UnwindSafe for Pdf
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more