Skip to main content

paperforge_pdf/
error.rs

1use thiserror::Error;
2
3pub type PdfResult<T> = Result<T, PdfError>;
4
5#[derive(Debug, Error)]
6pub enum PdfError {
7    #[error("I/O error: {0}")]
8    Io(#[from] std::io::Error),
9
10    #[error("parse error at offset {offset}: {message}")]
11    Parse { offset: u64, message: String },
12
13    #[error("invalid object: {0}")]
14    InvalidObject(String),
15
16    #[error("invalid page: {0}")]
17    InvalidPage(String),
18
19    #[error("font error: {0}")]
20    Font(String),
21
22    #[error("image error: {0}")]
23    Image(String),
24
25    #[error("layout error: {0}")]
26    Layout(String),
27
28    #[error("render error: {0}")]
29    Render(String),
30
31    #[error("security error: {0}")]
32    Security(String),
33
34    #[error("not implemented: {0}")]
35    NotImplemented(String),
36}