#[non_exhaustive]pub enum StructuralRecord {
DocInfo(DocInfoRecord),
Outline(OutlineRecord),
Annotation(AnnotationRecord),
Dest(DestRecord),
PageOverride(PageOverrideRecord),
ViewerPrefs(ViewerPrefsRecord),
Metadata(MetadataRecord),
Form(FormRecord),
Embed(EmbedRecord),
OutputIntent(OutputIntentRecord),
}Expand description
One accumulated structural record. Each variant corresponds to a PDF catalog / info / page entry the writer knows how to emit.
Marked #[non_exhaustive]: cross-crate match sites need a
wildcard arm so future record types (Tagged PDF, etc.) land additively.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DocInfo(DocInfoRecord)
/DOCINFO — entries to merge into the PDF Info dictionary.
Outline(OutlineRecord)
/OUT — one bookmark entry, contributing to the document’s
outline tree.
Annotation(AnnotationRecord)
/ANN — one page annotation (link, sticky note, free-text, …).
Dest(DestRecord)
/DEST — one named destination contributing to /Names /Dests.
PageOverride(PageOverrideRecord)
/PAGE (single-page override) or /PAGES (document-wide
default for keys that aren’t already overridden on a specific
page).
ViewerPrefs(ViewerPrefsRecord)
/VIEWERPREFERENCES — catalog-level viewer preferences plus
the /PageLayout and /PageMode overrides that live directly
on /Catalog rather than nested under /ViewerPreferences.
Metadata(MetadataRecord)
/Metadata — XMP metadata stream attached to /Catalog.
Form(FormRecord)
/FORM — document-level AcroForm dict. Multiple records merge
last-wins key-by-key; the /Fields array is implicit (built from
/Widget annotations at write time).
Embed(EmbedRecord)
/EMBED — one embedded file attachment. Multiple records
accumulate; the writer assembles a /Names /EmbeddedFiles
name tree and references it from /Catalog.
OutputIntent(OutputIntentRecord)
/OUTPUTINTENT — one /Catalog /OutputIntents entry naming the
destination color rendering condition for this PDF (PDF/X /
PDF/A). The writer emits one PDF object per record plus an array
referencing them all from /Catalog /OutputIntents. Multiple
records produce multiple intents — the array’s order matches the
record order, and consumers traditionally honor the first
matching subtype.
Trait Implementations§
Source§impl Clone for StructuralRecord
impl Clone for StructuralRecord
Source§fn clone(&self) -> StructuralRecord
fn clone(&self) -> StructuralRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more