lib/pdf/src/root.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 //! PDF parsing decodes cross-reference tables, object dictionaries, and
2 //! compressed stream filters over borrowed document bytes. To prevent
3 //! decompression bombs from exhausting memory, stream decoding enforces explicit
4 //! byte bounds via `FilterStorage`.
5 //!
6 //! Exceeding input or output limits returns `FilterExhaustion` errors
7 //! (`InputByteCapacityExceeded`, `DecodedByteCapacityExceeded`). Text extraction
8 //! maps glyph codes through ToUnicode CMaps, falling back to Unicode replacement
9 //! characters (`U+FFFD`) for unmapped glyphs.
10
11 pub const cmap = @import("cmap.zig");
12 pub const content = @import("content.zig");
13 pub const filter = @import("filter/root.zig");
14 pub const font = @import("font.zig");
15 pub const object = @import("object.zig");
16 pub const xref = @import("xref.zig");
17
18 pub const Dict = @import("object.zig").Dict;
19 pub const Document = @import("document.zig").Document;
20 pub const DocumentError = @import("document.zig").DocumentError;
21 pub const FilterBounds = filter.Bounds;
22 pub const FilterCapacity = filter.Capacity;
23 pub const FilterDecodeError = filter.DecodeError;
24 pub const FilterError = filter.Error;
25 pub const FilterExhaustion = filter.Exhaustion;
26 pub const FilterLimits = filter.Limits;
27 pub const FilterPredictor = filter.Predictor;
28 pub const FilterStatus = filter.Status;
29 pub const FilterStorage = filter.Storage;
30 pub const Page = @import("document.zig").Page;
31 pub const Reference = @import("object.zig").Reference;
32 pub const Value = @import("object.zig").Value;
33 pub const extractTextAlloc = @import("document.zig").extractTextAlloc;