use quillmark_core::RenderError;
use typst_layout::PagedDocument;
mod extract;
mod inject;
pub(crate) use inject::default_producer;
#[derive(Debug, Clone, PartialEq)]
pub(crate) struct SigPlacement {
pub name: String,
pub page: usize,
pub rect_typst_pt: [f32; 4],
}
pub(crate) fn extract(doc: &PagedDocument) -> Result<Vec<SigPlacement>, RenderError> {
extract::extract(doc)
}
pub(crate) fn inject(
pdf: Vec<u8>,
doc: &PagedDocument,
placements: &[SigPlacement],
producer: &str,
) -> Result<Vec<u8>, RenderError> {
inject::inject(pdf, doc, placements, producer)
}