paperforge-pdf 0.2.0

PDF object model, serialization, and parsing
Documentation
use thiserror::Error;

pub type PdfResult<T> = Result<T, PdfError>;

#[derive(Debug, Error)]
pub enum PdfError {
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),

    #[error("parse error at offset {offset}: {message}")]
    Parse { offset: u64, message: String },

    #[error("invalid object: {0}")]
    InvalidObject(String),

    #[error("invalid page: {0}")]
    InvalidPage(String),

    #[error("font error: {0}")]
    Font(String),

    #[error("image error: {0}")]
    Image(String),

    #[error("layout error: {0}")]
    Layout(String),

    #[error("render error: {0}")]
    Render(String),

    #[error("security error: {0}")]
    Security(String),

    #[error("not implemented: {0}")]
    NotImplemented(String),
}