Expand description
PDF reader — byte-stream → typed object tree → high-level Scene.
Round 3, in commits:
lex: tokenizer (bytes →Tokens) per ISO 32000-1 §7.2.parse: object parser (tokens →crate::objects::Object).- xref + trailer parser, top-level catalog walk.
- Content-stream operator parser (inverse of
crate::operators) —m/l/c/re→PathCommand,cm→Transform2D,q/Q→ group save/restore, etc. - /Info dict →
oxideav_scene::Metadata+ Scene assembly viaoxideav_scene::Page.
Round 3 supports PDF 1.4 with simple xref + uncompressed object streams. Object streams (PDF 1.5+), encryption, incremental updates, and linearization land in round 4+.
Re-exports§
pub use actions::actions;pub use actions::ActionKind;pub use actions::ActionTrigger;pub use actions::PdfAction;pub use annotation::annotations;pub use annotation::AnnotationAppearance;pub use annotation::AnnotationKind;pub use annotation::FixedPrint;pub use annotation::MovieActivation;pub use annotation::PdfAnnotation;pub use annotation::TextMarkupVariant;pub use annotation::ThreeDActivation;pub use annotation::ThreeDViewSelector;pub use attachments::attachments;pub use attachments::PdfAttachment;pub use content::parse_content_stream;pub use content::parse_content_stream_full;pub use content::parse_content_stream_full_with_color_space;pub use content::parse_content_stream_full_with_properties;pub use content::parse_content_stream_full_with_shading;pub use content::parse_content_stream_with_resources;pub use content::ContentInlineImage;pub use content::ContentMarkedContent;pub use content::ContentShading;pub use content::ContentTextShow;pub use content::MarkedContentOp;pub use content::MeshPatch;pub use content::MeshShading;pub use content::MeshTriangle;pub use content::MeshVertex;pub use content::ParsedContent;pub use content::ShadingGradient;pub use content::TextShowOp;pub use document::read_pdf_to_scene;pub use document::read_pdf_to_scene_with_certificate;pub use document::read_pdf_to_scene_with_certificate_and_trust_store;pub use document::read_pdf_to_scene_with_password;pub use document::DocumentReader;pub use encoding::apply_encoding_differences;pub use encoding::parse_encoding_differences;pub use encoding::BaseEncoding;pub use encoding::EncodingDifferences;pub use encoding::EncodingMap;pub use encoding::EncodingOverride;pub use hierarchy::verify_hierarchy;pub use hierarchy::HierarchyIssue;pub use hierarchy::HierarchyReport;pub use hierarchy::IssueSeverity;pub use images::image_xobjects;pub use images::ColorSpace;pub use images::PdfImageXObject;pub use inline_images::inline_images;pub use inline_images::InlineImageFilter;pub use inline_images::PdfInlineImage;pub use layout::read_in_logical_order;pub use layout::LayoutMode;pub use layout::ReadingOrderText;pub use linearize::parse_linearization_dict;pub use linearize::LinearizationParams;pub use link::links;pub use link::PdfLink;pub use link::PdfLinkTarget;pub use ocg::optional_content;pub use ocg::parse_membership;pub use ocg::OcBaseState;pub use ocg::OcConfig;pub use ocg::OcListMode;pub use ocg::OcMembership;pub use ocg::OcOrderItem;pub use ocg::OcUsage;pub use ocg::OcVisibilityExpression;pub use ocg::OcVisibilityPolicy;pub use ocg::OptionalContent;pub use ocg::OptionalContentGroup;pub use outline::outline;pub use outline::OutlineNode;pub use outline::PdfOutline;pub use pdfa::pdfa_signals;pub use pdfa::PdfACatalogSignals;pub use pdfa::PdfAConformance;pub use sig::doc_timestamps;pub use sig::signatures;pub use sig::signed_bytes;pub use sig::PdfDocTimestamp;pub use sig::PdfSignature;pub use text::extract_text;pub use text::extract_text_marked;pub use text::MarkedTextRun;pub use text::PdfMarkedTextExtraction;pub use text::PdfTextExtraction;pub use text::TextRenderMode;pub use text::TextRun;pub use xmp::XmpPacket;
Modules§
- actions
- Round-36 — PDF action reader (ISO 32000-1 §12.6).
- annotation
- Round-26 — generic annotation reader (ISO 32000-1 §12.5).
- attachments
- Round-33 — embedded file attachment reader (ISO 32000-1 §7.11 + §3.10 + §7.7.4 + §7.9.6).
- content
- PDF content-stream operator parser — inverse of
crate::operators. - document
- Top-level reader — bytes → resolved [
Document] /Scene. - encoding
- PDF simple-font encoding resolver —
/Encodingdictionary +/Differencesarray → 256-entry byte → Unicode map. - filters
- Shared, byte-level PDF stream-filter decoders.
- hierarchy
- Round-27 — Object-hierarchy validator (ISO 32000-1 §7.7.2 + §7.7.3).
- images
- JPEG-passthrough Image XObject extraction (round 23).
- inline_
images - Inline-image extraction from PDF content streams (round 35).
- layout
- Reading-order layout pass for Tagged PDFs (round 29).
- lex
- PDF tokenizer (ISO 32000-1 §7.2).
- linearize
- Round-27 — Linearization Parameter Dictionary reader (ISO 32000-1 §F.2 + Annex F.3).
- link
- Round-25 — PDF Link annotation reader (ISO 32000-1 §12.5.6.5).
- ocg
- Round-95 — Optional Content (OCG / OCMD) reader (ISO 32000-1
§8.11 + §7.7.2 Table 28 catalog
/OCProperties). - outline
- Round-25 — PDF outline (bookmark) tree reader.
- parse
- PDF object parser —
Lexertokens →Objecttree. - pdfa
- Round-27 — PDF/A conformance detection beyond the XMP tag (ISO 19005-1..4 §6.x — identification + structural requirements).
- sig
- Round-21 — PDF
/Sigannotation reader. - text
- PDF text extraction — content-stream walker that emits text runs with font + position resolved.
- xmp
- Round-26 — XMP packet field extraction (ISO 32000-1 §14.3.2 + Adobe XMP Specification, Sept-2012, ISO 16684-1).
- xref
- PDF cross-reference table + trailer parser (ISO 32000-1 §7.5.4–§7.5.5).