1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3#![cfg_attr(docsrs, feature(doc_cfg))]
4#![warn(clippy::indexing_slicing)]
6
7mod annot;
14mod annot_spec;
15mod associated;
16mod attach;
17mod blank;
18mod build_graph;
19mod canvas;
20mod content;
21mod dests;
22mod doc;
23mod encrypt;
24mod error;
25mod flatten;
26mod font;
27mod form;
28mod form_field;
29mod image;
30mod import;
31mod info;
32mod names;
33mod outline;
34mod page_label;
35mod page_objects;
36mod pages;
37mod pdfa_convert;
38mod prefs;
39mod stamp;
40#[cfg(feature = "svg-import")]
41mod svg_ingest;
42#[cfg(feature = "svg-text")]
43mod svg_text;
44mod write;
45
46pub use annot::{
47 AnnotBorder, AnnotBorderStyle, AnnotGoToView, AnnotLinkAction, AnnotLinkHighlight, AnnotMeta,
48 AnnotRemoteDest, AnnotSpec, AnnotWrite, BorderStyleName, DEFAULT_DA, LineEndingStyle, Quad,
49 add_annotation, delete_annotation, delete_annotation_at, delete_named_destination,
50 ensure_named_destination, named_destinations, set_named_destination, update_annotation,
51 update_annotation_at,
52};
53pub use annot_spec::{
54 CaretSpec, CircleSpec, FreeTextSpec, InkSpec, LineSpec, LinkSpec, MarkupKind, MarkupSpec,
55 SquareSpec, TextSpec,
56};
57pub use associated::{
58 Relationship, associate_file_with_document, associate_file_with_page,
59 document_associated_files, page_associated_files,
60};
61pub use attach::{
62 AttachmentOptions, AttachmentOptionsBuilder, add_attachment, delete_attachment,
63 remove_attachment, set_attachment_description, set_attachment_file, set_attachment_file_with,
64 set_attachment_name, set_attachment_param,
65};
66pub use blank::blank_document;
67pub use build_graph::build_graph;
68#[cfg(feature = "svg-import")]
69pub use canvas::SvgForm;
70pub use canvas::{
71 BlendMode, Canvas, Dash, Fill, GlyphRun, Gradient, GradientKind, GradientStop, LineCap,
72 LineJoin, MiterLimit, Paint, RunGlyph, Stroke,
73};
74pub use content::{
75 ContentsShape, PageRewrite, Regenerated, ResourceTable, ShareCounts, apply_rewrite, regenerate,
76 shared_objects, write_float, write_matrix, write_point, write_rect,
77};
78pub use doc::EditDoc;
79pub use encrypt::{Encryptor, IvSource};
80pub use error::Error;
81pub use flatten::{FlattenMode, Flattened, UnknownFlattenMode, flatten, flatten_document};
82pub use font::embed::{EmbeddedFont, FontEncoding, MissingGlyph, string_width};
83pub use font::glyph::GlyphFont;
84pub use font::instance::{AxisValue, FontInstance};
85pub use font::{GidMap, Subsetted, subset};
86pub use form::{WidgetAppearance, set_need_appearances, set_widget_appearance};
87pub use form_field::{DEFAULT_FIELD_DA, FieldKindSpec, FieldSpec, add_form_field, add_form_font};
88pub use image::{EmbeddedImage, PixelFormat};
89pub use import::{
90 ImportOptions, ImportOptionsBuilder, NUpOptions, NUpOptionsBuilder, PageRange, import_pages,
91 n_page_to_one,
92};
93pub use info::{pdf_date, set_info_entry, set_info_name, set_xmp_metadata};
94pub use outline::{BookmarkSpec, BookmarkTarget, set_outline};
95pub use page_label::{PageLabelRange, PageLabelStyle, set_page_labels};
96pub use page_objects::{ImageBuilder, PathBuilder, TextBuilder};
97pub use pages::{
98 PageBox, add_blank_page, delete_pages, reorder_pages, set_page_box, set_page_rotation,
99 set_page_rotation_to,
100};
101pub use pdfa_convert::{convert as to_pdfa, pdf_date_to_iso8601};
102pub use kurbo::Size;
105pub use pdfrum_font::StandardFont;
106pub use prefs::{
107 Duplex, ViewerPreferences, clear_open_action, set_open_action, set_viewer_preferences,
108};
109pub use stamp::{StampOptions, StampOptionsBuilder, StampPosition, UnknownStampPosition};
110#[cfg(feature = "svg-import")]
111pub use svg_ingest::{SvgFit, SvgIngestReport, Unsupported, UnsupportedItem};
112#[cfg(feature = "svg-text")]
113pub use svg_text::SvgFonts;
114pub use write::id::{FileId, IdSource};
115pub use write::{Encryption, EncryptionBuilder, SaveMode, SaveOptions, SaveOptionsBuilder, save};