pub enum ParseError {
Io(Error),
InvalidHeader,
UnsupportedVersion(String),
SyntaxError {
position: usize,
message: String,
},
UnexpectedToken {
expected: String,
found: String,
},
InvalidReference(u32, u16),
MissingKey(String),
InvalidXRef,
InvalidTrailer,
CircularReference,
StreamDecodeError(String),
EncryptionNotSupported,
}Expand description
PDF Parser errors covering all failure modes during parsing.
§Error Categories
- I/O Errors: File access and reading issues
- Format Errors: Invalid PDF structure or syntax
- Unsupported Features: Encryption, newer PDF versions
- Reference Errors: Invalid or circular object references
- Stream Errors: Decompression or filter failures
§Example
use oxidize_pdf_core::parser::{PdfReader, ParseError};
match PdfReader::open("missing.pdf") {
Ok(_) => println!("File opened"),
Err(ParseError::Io(e)) => println!("IO error: {}", e),
Err(ParseError::InvalidHeader) => println!("Not a valid PDF"),
Err(e) => println!("Other error: {}", e),
}Variants§
Io(Error)
I/O error during file operations
InvalidHeader
PDF file doesn’t start with valid header (%PDF-)
UnsupportedVersion(String)
PDF version is not supported
SyntaxError
Syntax error in PDF structure
UnexpectedToken
InvalidReference(u32, u16)
Invalid or non-existent object reference
MissingKey(String)
Required dictionary key is missing
InvalidXRef
InvalidTrailer
CircularReference
StreamDecodeError(String)
Error decoding/decompressing stream data
EncryptionNotSupported
PDF encryption is not currently supported
Trait Implementations§
Source§impl Debug for ParseError
impl Debug for ParseError
Source§impl Display for ParseError
impl Display for ParseError
Source§impl Error for ParseError
impl Error for ParseError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<Error> for ParseError
impl From<Error> for ParseError
Source§impl From<ParseError> for OxidizePdfError
impl From<ParseError> for OxidizePdfError
Source§fn from(err: ParseError) -> Self
fn from(err: ParseError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ParseError
impl !RefUnwindSafe for ParseError
impl Send for ParseError
impl Sync for ParseError
impl Unpin for ParseError
impl !UnwindSafe for ParseError
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