Skip to main content

pdfboss_core/
lib.rs

1//! Core PDF machinery: syntax, objects, filters, cross-references, the
2//! document model, and lazy element iteration (physical file structure with
3//! byte spans plus logical document structure), implemented from the PDF
4//! specification (ISO 32000).
5
6pub mod cmap;
7pub mod content;
8pub mod crypt;
9pub mod date;
10pub mod destination;
11pub mod document;
12pub mod elements;
13pub mod embedded_file;
14pub mod error;
15pub mod extension;
16pub mod filters;
17pub mod geom;
18pub mod hash;
19pub mod language;
20pub mod lexer;
21pub mod names;
22pub mod object;
23pub mod objstm;
24pub mod oc;
25pub mod outline;
26pub mod page_label;
27pub mod parser;
28pub mod pretty;
29pub mod source;
30pub mod structure;
31pub mod tree;
32pub mod viewer_preferences;
33pub mod xref;
34
35pub use cmap::{cid_to_unicode, type0_encoding, CidCmap, CidToUnicode, Type0Encoding};
36pub use crypt::{
37    crypt_filter_refs, direct_crypt_filters, Decryptor, Encryptor, Permissions, PERMISSION_NAMES,
38};
39pub use date::Date;
40pub use destination::{
41    destination_value_with, destination_with, named_destination_with, named_destinations_with,
42    Destination, DestinationPage, Fit,
43};
44pub use document::{
45    content_stream_data_with, decoded_stream_data_with, map_pages, page_content_with, Document,
46    DocumentSeed, Metadata, Page,
47};
48pub use elements::{Element, ElementOpts, Span, XrefKind};
49pub use embedded_file::{
50    embedded_file_data_with, embedded_files_with, file_spec_with, spec_components, EmbeddedFile,
51    FileSpec,
52};
53pub use error::{Error, Result};
54pub use extension::{extensions_with, DeveloperExtension};
55pub use geom::{Matrix, Point, Rect};
56pub use hash::{FastMap, FastSet, FxHasher};
57pub use language::{language_with, LanguageTag};
58pub use names::{name_tree_root_with, named_with, names_with, NameTree};
59pub use object::{Dict, Name, ObjRef, Object, Stream};
60pub use oc::OcState;
61pub use outline::{outline_with, OutlineItem};
62pub use page_label::{page_label, page_labels_with, LabelStyle, PageLabel};
63pub use source::{
64    block_on, resolve_sync_with, resolve_with, AsyncObjectSource, BoxFuture, Immediate,
65    ObjectSource, MAX_RESOLVE_DEPTH,
66};
67pub use structure::{
68    AttributeObject, MarkedContentId, Placement, StandardKind, StandardOwner, StandardType,
69    StructureElement, StructureTree,
70};
71pub use viewer_preferences::{
72    viewer_preferences_with, Direction, Duplex, NonFullScreenPageMode, PageBoundary, PrintScaling,
73    ViewerPreferences,
74};