Skip to main content

Module classify

Module classify 

Source
Expand description

XFA form type classification — static vs dynamic vs none.

XFA Spec 3.3 §9.1 distinguishes two XFA form profiles:

  • Static (XFAF): baseProfile="interactiveForms" on <template>. Layout is fixed; form fields are baked in as AcroForm widgets.
  • Dynamic: full XFA grammar; layout is re-computed from data at render time. No baseProfile restriction.

Use detect_xfa_type_from_packets when you already have XfaPackets, or detect_xfa_type to parse raw PDF bytes end-to-end.

§Example

use pdf_xfa::classify::{detect_xfa_type, XfaType};
match detect_xfa_type(&pdf_bytes) {
    XfaType::Static  => println!("XFAF / static form"),
    XfaType::Dynamic => println!("full dynamic XFA"),
    XfaType::None    => println!("not an XFA PDF"),
}

Enums§

XfaType
Classification of an XFA form.

Functions§

detect_xfa_type
Detect XFA type from raw PDF bytes.
detect_xfa_type_from_packets
Detect XFA type from already-extracted XfaPackets.