PdfReader

Struct PdfReader 

Source
pub struct PdfReader<R: Read + Seek> { /* private fields */ }
Expand description

High-level PDF reader

Implementations§

Source§

impl<R: Read + Seek> PdfReader<R>

Source

pub fn options(&self) -> &ParseOptions

Get parsing options

Source

pub fn is_encrypted(&self) -> bool

Check if the PDF is encrypted

Source

pub fn is_unlocked(&self) -> bool

Check if the PDF is unlocked (can read encrypted content)

Source

pub fn encryption_handler_mut(&mut self) -> Option<&mut EncryptionHandler>

Get mutable access to encryption handler

Source

pub fn encryption_handler(&self) -> Option<&EncryptionHandler>

Get access to encryption handler

Source

pub fn unlock_with_password(&mut self, password: &str) -> ParseResult<bool>

Try to unlock PDF with password

Source

pub fn try_empty_password(&mut self) -> ParseResult<bool>

Try to unlock with empty password

Source§

impl PdfReader<File>

Source

pub fn open<P: AsRef<Path>>(path: P) -> ParseResult<Self>

Open a PDF file from a path

Source

pub fn open_strict<P: AsRef<Path>>(path: P) -> ParseResult<Self>

Open a PDF file from a path with strict parsing

Source

pub fn open_document<P: AsRef<Path>>(path: P) -> ParseResult<PdfDocument<File>>

Open a PDF file as a PdfDocument

Source§

impl<R: Read + Seek> PdfReader<R>

Source

pub fn new(reader: R) -> ParseResult<Self>

Create a new PDF reader from a reader

Source

pub fn new_with_options(reader: R, options: ParseOptions) -> ParseResult<Self>

Create a new PDF reader with custom parsing options

Source

pub fn version(&self) -> &PdfVersion

Get the PDF version

Source

pub fn catalog(&mut self) -> ParseResult<&PdfDictionary>

Get the document catalog

Source

pub fn info(&mut self) -> ParseResult<Option<&PdfDictionary>>

Get the document info dictionary

Source

pub fn get_object( &mut self, obj_num: u32, gen_num: u16, ) -> ParseResult<&PdfObject>

Get an object by reference

Source

pub fn resolve<'a>( &'a mut self, obj: &'a PdfObject, ) -> ParseResult<&'a PdfObject>

Resolve a reference to get the actual object

Source

pub fn resolve_stream_length( &mut self, obj: &PdfObject, ) -> ParseResult<Option<usize>>

Resolve a stream length reference to get the actual length value This is a specialized method for handling indirect references in stream Length fields

Source

pub fn pages(&mut self) -> ParseResult<&PdfDictionary>

Get the page tree root

Source

pub fn page_count(&mut self) -> ParseResult<u32>

Get the number of pages

Source

pub fn metadata(&mut self) -> ParseResult<DocumentMetadata>

Get metadata from the document

Source

pub fn get_page(&mut self, _index: u32) -> ParseResult<&ParsedPage>

Get a specific page by index (0-based)

Note: This method is currently not implemented due to borrow checker constraints. The page_tree needs mutable access to both itself and the reader, which requires a redesign of the architecture. Use PdfDocument instead for page access.

Source

pub fn get_all_pages(&mut self) -> ParseResult<Vec<ParsedPage>>

Get all pages

Source

pub fn into_document(self) -> PdfDocument<R>

Convert this reader into a PdfDocument for easier page access

Source

pub fn clear_parse_context(&mut self)

Clear the parse context (useful to avoid false circular references)

Source

pub fn parse_context_mut(&mut self) -> &mut StackSafeContext

Get a mutable reference to the parse context

Auto Trait Implementations§

§

impl<R> Freeze for PdfReader<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for PdfReader<R>
where R: RefUnwindSafe,

§

impl<R> Send for PdfReader<R>
where R: Send,

§

impl<R> Sync for PdfReader<R>
where R: Sync,

§

impl<R> Unpin for PdfReader<R>
where R: Unpin,

§

impl<R> UnwindSafe for PdfReader<R>
where R: UnwindSafe,

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, 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