1pub mod error;
56pub mod styles;
57pub mod fonts;
58pub mod page;
59pub mod backend;
60pub mod document;
61pub mod builder;
62pub mod layout;
63pub mod elements;
64pub mod richtext;
65pub mod template;
66pub mod signing;
67pub mod ndf;
68pub mod compliance;
69#[cfg(feature = "ffi")]
70pub mod ffi;
71
72pub use error::{NormaxisPdfError, Result};
75
76pub use signing::{PreparedPdf, SignatureConfig, SignatureField, SignatureOptions, sign_pdf};
79
80pub use styles::{
83 default_named_styles, DocumentStyle, NamedStyle, Orientation, PageSize, ResolvedStyle,
84 RgbColor, SecurityClassification, StyleResolver, TraceabilityMetadata, Watermark,
85};
86
87pub use fonts::{
90 liberation_sans_family, liberation_serif_family, liberation_mono_family,
91 FontData, FontFallbackChain, FontVariants, ShapedGlyph,
92 FontFamily, FontVariant,
94 FontRegistry,
95};
96
97pub use page::PageLayout;
100
101pub use layout::{
104 AppliedStyle, BorderStyle, BoxBorder, DecorationLine, FixedBox, GlyphUsageTracker,
105 HighlightColor, KnuthPlassOptimizer, LayoutResult, LineBox, LineBreakingMode,
106 LineSegment, OpenTypeFeatures, OverflowPolicy, PageFlow, TabStop, TabStopAlign,
107 TextAlign, TextDecoration, TextLayoutEngine, TextRun, WordBox,
108};
109
110pub use builder::{DocumentBuilder, SigningBuilder};
113pub use backend::{FontRef, ImageRef, PdfBackend};
114pub use backend::pdf_writer_backend::{
115 encode_for_identity_h, generate_to_unicode_cmap, subset_font, to_cff_if_possible,
116};
117pub use document::{CompressionLevel, Document, PdfStandard};
118
119pub use elements::{
122 footnote::{FootnoteMarkStyle, FootnoteRef, FOOTNOTE_SEPARATOR_THICKNESS_MM},
123 footer::{PageFooter, SectionedFooter},
124 form::{
125 CheckBoxDef, ComboBoxDef, FieldRect, FormField, ListBoxDef,
126 RadioButtonDef, TextFieldDef,
127 },
128 header::{InstitutionalHeader, SectionedHeader},
129 image::ImageElement,
130 list::{BulletList, CheckList, CheckListItem, ListItem, ListItemElement, OrderedList},
131 page_break::PageBreakElement,
132 paragraph::{Paragraph, ParagraphBorder, ParagraphContent},
133 section::Section,
134 section_break::{Orientation as SectionOrientation, SectionBreak, SectionMargins},
135 spacer::{HorizontalRuleElement, Spacer},
136 table::{
137 BorderLineStyle, CellBorder, CellBorders, CellPadding, RowHeight,
138 Table, TableBuilder, TableCell, TableRow, TableStyle,
139 },
140 toc::{TableOfContents, TocEntry},
141 Element, LayoutMode, RenderContext, RenderResult,
142};
143
144pub use elements::fixed::{FixedImageBox, FixedLineElement, FixedTextBox, ImageFit, VerticalAlign};
147
148pub use richtext::{ncrtf_to_elements, parse_ncrtf, NcrtfDocument};
151
152pub use template::{
155 parse_ndt, parse_ndt_data, render as render_ndt,
156 serialize_ndt_json, serialize_ndt_toml,
157 NdtDocument, TemplateError,
158 ENGINE_NDT_DATA_VERSION, ENGINE_NDT_VERSION,
159 resolve_runtime_fields, RuntimeContext,
160 check_version_compatibility,
161};
162
163pub use template::model::{NdtOutput, NdtSignature, NdtSignatureField};
166
167pub use template::{
170 NdtRegistry, NdtTemplateRecord, NdtTemplateSummary, TemplateFilter, TemplateStatus,
171};
172
173pub use template::{
176 compile_ndt, parse_ndf,
177 render_ndf, render_ndf_with_fonts,
178 render_ndf_prepared_for_signing, render_ndf_prepared_for_signing_with_fonts,
179 verify_ndf, CompileOptions,
180};
181
182pub use ndf::{
185 canonical_hash,
186 Actor, AuditEvent, EventType,
187 IntegrityFailure, IntegrityReport,
188 NdfAudit, NdfDocument, NdfEmbeddedFont, NdfIntegrity,
189 NdfMeta, NdfMetaNumbering, NdfOrigin, NdfOutput, NdfRevision, NdfRevisionRef, NdfSignature,
190};
191
192pub use ndf::{
195 NdfFilter, NdfRecord, NdfRecordStatus, NdfRecordSummary, NdfRegistry,
196};
197
198pub use richtext::marks::MarkValue as NcrtfMark;
201pub use richtext::model::ImageBlock as NcrtfImage;
202
203pub const VERSION: &str = env!("CARGO_PKG_VERSION");
207
208pub use compliance::ua::{
211 AccessibilityConfig, ArtifactType, StructEvent, StructTag, StructureTree,
212 UaError, UaValidator, UaWarning,
213};
214
215pub const NDT_VERSION: &str = "2.1.0";
217
218pub const PDF_BACKEND: &str = "pdf-writer";
220
221pub const NDF_VERSION: &str = ndf::NDF_VERSION;
223
224pub const NCRTF_VERSION: &str = richtext::NCRTF_VERSION;
226