pub mod error;
pub mod styles;
pub mod fonts;
pub mod page;
pub mod backend;
pub mod document;
pub mod builder;
pub mod layout;
pub mod elements;
pub mod richtext;
pub mod template;
pub mod signing;
pub mod ndf;
pub mod compliance;
#[cfg(feature = "ffi")]
pub mod ffi;
pub use error::{NormaxisPdfError, Result};
pub use signing::{PreparedPdf, SignatureConfig, SignatureField, SignatureOptions, sign_pdf};
pub use styles::{
default_named_styles, DocumentStyle, NamedStyle, Orientation, PageSize, ResolvedStyle,
RgbColor, SecurityClassification, StyleResolver, TraceabilityMetadata, Watermark,
};
pub use fonts::{
liberation_sans_family, liberation_serif_family, liberation_mono_family,
FontData, FontFallbackChain, FontVariants, ShapedGlyph,
FontFamily, FontVariant,
FontRegistry,
};
pub use page::PageLayout;
pub use layout::{
AppliedStyle, BorderStyle, BoxBorder, DecorationLine, FixedBox, GlyphUsageTracker,
HighlightColor, KnuthPlassOptimizer, LayoutResult, LineBox, LineBreakingMode,
LineSegment, OpenTypeFeatures, OverflowPolicy, PageFlow, TabStop, TabStopAlign,
TextAlign, TextDecoration, TextLayoutEngine, TextRun, WordBox,
};
pub use builder::{DocumentBuilder, SigningBuilder};
pub use backend::{FontRef, ImageRef, PdfBackend};
pub use backend::pdf_writer_backend::{
encode_for_identity_h, generate_to_unicode_cmap, subset_font, to_cff_if_possible,
};
pub use document::{CompressionLevel, Document, PdfStandard};
pub use elements::{
footnote::{FootnoteMarkStyle, FootnoteRef, FOOTNOTE_SEPARATOR_THICKNESS_MM},
footer::{PageFooter, SectionedFooter},
form::{
CheckBoxDef, ComboBoxDef, FieldRect, FormField, ListBoxDef,
RadioButtonDef, TextFieldDef,
},
header::{InstitutionalHeader, SectionedHeader},
image::ImageElement,
list::{BulletList, CheckList, CheckListItem, ListItem, ListItemElement, OrderedList},
page_break::PageBreakElement,
paragraph::{Paragraph, ParagraphBorder, ParagraphContent},
section::Section,
section_break::{Orientation as SectionOrientation, SectionBreak, SectionMargins},
spacer::{HorizontalRuleElement, Spacer},
table::{
BorderLineStyle, CellBorder, CellBorders, CellPadding, RowHeight,
Table, TableBuilder, TableCell, TableRow, TableStyle,
},
toc::{TableOfContents, TocEntry},
Element, LayoutMode, RenderContext, RenderResult,
};
pub use elements::fixed::{FixedImageBox, FixedLineElement, FixedTextBox, ImageFit, VerticalAlign};
pub use richtext::{ncrtf_to_elements, parse_ncrtf, NcrtfDocument};
pub use template::{
parse_ndt, parse_ndt_data, render as render_ndt,
serialize_ndt_json, serialize_ndt_toml,
NdtDocument, TemplateError,
ENGINE_NDT_DATA_VERSION, ENGINE_NDT_VERSION,
resolve_runtime_fields, RuntimeContext,
check_version_compatibility,
};
pub use template::model::{NdtOutput, NdtSignature, NdtSignatureField};
pub use template::{
NdtRegistry, NdtTemplateRecord, NdtTemplateSummary, TemplateFilter, TemplateStatus,
};
pub use template::{
compile_ndt, parse_ndf,
render_ndf, render_ndf_with_fonts,
render_ndf_prepared_for_signing, render_ndf_prepared_for_signing_with_fonts,
verify_ndf, CompileOptions,
};
pub use ndf::{
canonical_hash,
Actor, AuditEvent, EventType,
IntegrityFailure, IntegrityReport,
NdfAudit, NdfDocument, NdfEmbeddedFont, NdfIntegrity,
NdfMeta, NdfMetaNumbering, NdfOrigin, NdfOutput, NdfRevision, NdfRevisionRef, NdfSignature,
};
pub use ndf::{
NdfFilter, NdfRecord, NdfRecordStatus, NdfRecordSummary, NdfRegistry,
};
pub use richtext::marks::MarkValue as NcrtfMark;
pub use richtext::model::ImageBlock as NcrtfImage;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub use compliance::ua::{
AccessibilityConfig, ArtifactType, StructEvent, StructTag, StructureTree,
UaError, UaValidator, UaWarning,
};
pub const NDT_VERSION: &str = "2.1.0";
pub const PDF_BACKEND: &str = "pdf-writer";
pub const NDF_VERSION: &str = ndf::NDF_VERSION;
pub const NCRTF_VERSION: &str = richtext::NCRTF_VERSION;