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}