use crate::PdfDocument;
pub use pdf_xfa::error::XfaError;
pub use pdf_xfa::extract::XfaPackets;
pub use xfa_json::{export_schema, form_tree_to_json, form_tree_to_value, FormData, FormSchema};
pub use xfa_layout_engine::form::{FormNodeId, FormTree};
pub fn extract_packets(document: &PdfDocument) -> Result<XfaPackets, XfaError> {
pdf_xfa::extract::extract_xfa(document.pdf())
}
pub fn has_xfa(document: &PdfDocument) -> bool {
pdf_xfa::extract::extract_xfa_from_acroform(document.pdf())
.is_some_and(|packets| packets.template().is_some())
}
pub fn flatten(document: &PdfDocument) -> Result<Vec<u8>, XfaError> {
pdf_xfa::flatten_xfa_to_pdf(document.pdf().data().as_ref())
}