Skip to main content

PdfDocument

Struct PdfDocument 

Source
pub struct PdfDocument { /* private fields */ }

Implementations§

Source§

impl PdfDocument

Source

pub fn open(data: impl Into<Arc<[u8]>>) -> Result<Self>

Source

pub fn open_with_limits( data: impl Into<Arc<[u8]>>, limits: ParseLimits, ) -> Result<Self>

Source

pub fn open_with_password( data: impl Into<Arc<[u8]>>, password: &[u8], ) -> Result<Self>

Open an encrypted document with a user or owner password. Returns zpdf_core::Error::WrongPassword when the password authenticates as neither. (A non-encrypted document opens regardless of the password.)

Source

pub fn open_with_password_and_limits( data: impl Into<Arc<[u8]>>, password: &[u8], limits: ParseLimits, ) -> Result<Self>

Source

pub fn is_encrypted(&self) -> bool

True when the document is encrypted (carries an /Encrypt dictionary).

Source

pub fn page_count(&self) -> usize

Source

pub fn page(&self, index: usize) -> Result<PdfPage>

Source

pub fn file(&self) -> &PdfFile

Source

pub fn version(&self) -> (u8, u8)

Source

pub fn page_content_bytes(&self, page: &PdfPage) -> Result<Vec<u8>>

Get decoded content stream bytes for a page.

Source

pub fn load_page_fonts(&self, page: &PdfPage) -> FontCache

Load all fonts referenced by a page.

Source

pub fn page_annotations(&self, page: &PdfPage) -> Vec<Annotation>

Parse a page’s annotations into renderable form (/Rect, /F, the /AS-selected appearance stream, /OC membership). Widget annotations for interactive-form fields gain a generated appearance when the producer left none (or set /NeedAppearances).

Source

pub fn acro_form(&self) -> Option<&AcroForm>

The document’s interactive form (/AcroForm), if any. Parsed once and cached for the lifetime of the document.

Source

pub fn oc_config(&self) -> Option<OcConfig>

The document’s default optional-content configuration, if any.

Source

pub fn output_intents(&self) -> Vec<OutputIntent>

The document-level output intents (catalog /OutputIntents). Empty when the document declares none. Page-level intents (PDF 2.0) are carried on the page and read via PdfDocument::page_output_intents.

Source

pub fn page_output_intents<'a>(&self, page: &'a PdfPage) -> &'a [OutputIntent]

PDF 2.0 page-level /OutputIntents, which override the document-level intents for that page. Empty for pre-2.0 / most documents.

Source

pub fn embedded_files(&self) -> Vec<EmbeddedFile>

The document’s embedded files — file streams registered in the catalog’s /Names /EmbeddedFiles name tree (a viewer’s “attachments”). Empty when the document carries none. Pull a file’s bytes with PdfDocument::embedded_file_bytes.

Source

pub fn associated_files(&self) -> Vec<EmbeddedFile>

Catalog-level associated files (/Root /AF, PDF 2.0). Each carries an /AFRelationship. Per PDF 2.0 these are also listed by PdfDocument::embedded_files; the two lists usually overlap.

Source

pub fn page_associated_files(&self, page: &PdfPage) -> Vec<EmbeddedFile>

Page-level associated files (/Page /AF, PDF 2.0) for one page. /AF is not inheritable, so only the leaf page dictionary is consulted.

Source

pub fn embedded_file_bytes(&self, file: &EmbeddedFile) -> Result<Vec<u8>>

Decode and return the bytes of an embedded file. Routes through the parser’s filter pipeline, so it respects ParseLimits (max stream size). Errors if the file specification carries no embedded stream (EmbeddedFile::is_embedded is false).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more