oxidize-pdf 5.0.0

Pure Rust PDF library for AI/RAG: structure-aware chunking with bounding boxes, heading context, and token estimates. No Python, no ML, no C bindings.
Documentation
//! PDF writing functionality

mod content_stream_utils;
mod incremental_annotations;
mod incremental_form_fill;
mod incremental_free_text;
mod incremental_geometric;
mod incremental_highlights;
mod incremental_ink;
mod incremental_ocr_layer;
mod incremental_tagged_pdf;
mod incremental_text_notes;
mod incremental_update;
mod object_streams;
mod pdf_writer;
mod signature;
mod xref_stream_writer;

// Phase 2 utilities for font preservation
pub(crate) use content_stream_utils::{
    apply_font_rename_map, collision_font_mapping, rewrite_font_references, INJECTED_BASE_FONT_KEYS,
};
pub use incremental_form_fill::IncrementalFormFiller;
pub use incremental_free_text::{
    FreeText, FreeTextAlignment, FreeTextId, FreeTextMutation, FreeTextUpdate,
    IncrementalFreeTextEditor,
};
pub use incremental_geometric::{
    GeometricAnnotation, GeometricColor, GeometricDashPattern, GeometricGeometry, GeometricId,
    GeometricMutation, GeometricOpacity, GeometricStyle, GeometricUpdate, GeometricWidth,
    IncrementalGeometricEditor, LineEnding,
};
pub use incremental_highlights::{
    Highlight, HighlightColor, HighlightId, HighlightMutation, HighlightOpacity, HighlightQuad,
    HighlightUpdate, IncrementalHighlightEditor,
};
pub use incremental_ink::{
    IncrementalInkEditor, Ink, InkColor, InkId, InkMutation, InkOpacity, InkStroke, InkUpdate,
    InkWidth,
};
pub use incremental_ocr_layer::{
    IncrementalOcrLayerEditor, OcrLayerFragment, OcrLayerPage, OcrLayerPlan, OcrLayerUpdate,
};
pub use incremental_tagged_pdf::{
    IncrementalTaggedPdfEditor, TaggedPdfChangedObject, TaggedPdfChangedObjectKind,
    TaggedPdfEditPlan, TaggedPdfMutation, TaggedPdfMutationReport,
};
pub use incremental_text_notes::{
    IncrementalTextNoteEditor, TextNote, TextNoteId, TextNoteMutation, TextNoteUpdate,
};
pub(crate) use incremental_update::IncrementalUpdate;
pub use object_streams::{ObjectStream, ObjectStreamConfig, ObjectStreamStats, ObjectStreamWriter};
pub use pdf_writer::{PdfWriter, WriterConfig};
pub(crate) use signature::{Edition, PdfSignature};
pub use xref_stream_writer::XRefStreamWriter;