Ga naar inhoud
getnextpdf.com

Pro editie

Form

NextPDF Pro leest en schrijft interactieve formuliergegevens: AcroForm-veldwaarden, XFDF-databestanden en de gegevens die door XFA (XML Forms Architecture)-sjablonen worden gedragen. Het vult de open-source Core-formulierlezer aan met databinding, extractie en serialisatie.

Deze mogelijkheid wordt geleverd in NextPDF Pro (nextpdf/pro) en wordt geactiveerd met een licentie-envelop op Pro-niveau. Een implementatie zonder die rechten laadt de klassen van de mogelijkheid niet. Vergelijk edities en verkrijg een licentie.

Form maakt deel uit van de Pro-editie. Er is geen aparte licentievlag per functie.

Terminal window
composer require nextpdf/pro:^3

De Form-mogelijkheid vereist een geldige NextPDF Pro-licentie. Zie Beschikbaarheid en licentie.

Een interactief PDF-formulier — soms een AcroForm genoemd — slaat elk veld op in een veld-dictionary, zoals gedefinieerd in ISO 32000-2 §12.7. NextPDF Pro bouwt voort op de Core-formulierlezer om drie mogelijkheden toe te voegen:

  • AcroForm round-trip. FormDataExtractor leest naam/waarde-paren uit geparseerde formuliervelden en produceert een XfdfData-object of een platte name → value-map. XfdfWriter voert het omgekeerde uit en genereert een XFDF-document.
  • XFDF lezen en schrijven. XFDF is het XML-data-uitwisselingsformaat voor formulierwaarden, beschreven door ISO 19444-1:2019. XfdfParser leest een XFDF-bestand in gestructureerde data; XfdfWriter serialiseert veldwaarden naar XFDF, met een optionele verwijzing terug naar de bron-PDF.
  • XFA-data-extractie. XfaParser lokaliseert de XFA-pakketten in een document, voegt de XML-fragmenten samen en parseert de template- en datasets-pakketten tot gestructureerde velddata.

XFA-ondersteuning in NextPDF Pro is data-georiënteerd, geen volledige XFA-rendering- of scriptingengine. De parser extraheert en structureert de template- en datasets-pakketten zodat je velddefinities en -waarden kunt lezen. Deze voert geen XFA-formulierberekeningsscripts uit, rendert geen dynamische XFA-lay-outs en doet geen round-trip van elk XFA-pakkettype. Test de parser tegen je specifieke documenten voordat je erop vertrouwt voor een bepaalde XFA-formulierset. Alle XML-parsing schakelt het laden van externe entiteiten uit (XXE-veilig).

XFA-ondersteuning is bewust beperkt tot data, niet tot rendering. ISO 32000-2 markeert de XFA-vermelding van de formulier-dictionary als verouderd in PDF 2.0 (§12.7). Een volledige XFA-lay-out- en scriptingengine zou een verouderd oppervlak najagen dat de meeste workloads niet langer nodig hebben. NextPDF Pro extraheert in plaats daarvan de template- en datasets-pakketten, waar de duurzame velddata leeft, en laat de rest achterwege. Diezelfde houding drijft het XXE-uitgeschakelde parsen en het scanplafond aan, omdat formulierinvoer vaak van niet-vertrouwde partijen komt. Dat houdt het Pro-formulieroppervlak een dunne, voorspelbare uitbreiding van het Core-AcroForm-model.

Ontwerpachtergrond: Van invulbaar formulier naar bevroren record: AcroForm invullen en afvlakken.

KlasseVerantwoordelijkheid
FormDataExtractorAcroForm-veldwaarden extraheren als XfdfData of een array.
XfdfParserEen XFDF-document parsen tot gestructureerde data.
XfdfWriterVeldwaarden serialiseren naar XFDF, optionele PDF-verwijzing.
XfaParserXFA-template- en datasets-pakketten extraheren en parsen.
FormDataBinderEen data-map terug binden op formuliervelden.

De volledige referentie op methodeniveau staat in de Form deep reference.

use NextPDF\Pro\Form\FormDataExtractor;
use NextPDF\Pro\Form\XfdfWriter;
$values = FormDataExtractor::toArray($fields);
$xfdf = XfdfWriter::fromFields($fields, 'invoice.pdf');
use NextPDF\Pro\Form\XfaParser;
use NextPDF\Pro\Form\Exception\XfaParseException;
try {
$formData = (new XfaParser())->parse($pdfBytes);
$logger->info('xfa.parsed', ['fields' => count($formData->fields)]);
} catch (XfaParseException $e) {
$logger->warning('xfa.parse_failed', ['reason' => $e->getMessage()]);
}
  • XfaParser wijst PDF-invoer groter dan zijn scanplafond af in plaats van onbegrensde data te lezen.
  • Een document kan zowel interactieve als niet-interactieve formulieren dragen; extractie richt zich op terminale veld-dictionaries.
  • XFDF doet round-trip van platte veldstructuren; diep geneste veldhiërarchieën vereisen mogelijk expliciete verwerking.

Extractie en serialisatie zijn lineair in het aantal formuliervelden. De XFA-parsekosten schalen met de grootte van de ingebedde XML-pakketten.

Alle XML-parsing schakelt externe-entiteitresolutie uit om XXE te voorkomen. Behandel XFDF- en XFA-invoer uit niet-vertrouwde bronnen als vijandig en valideer de geparseerde veldset voordat je deze terug in een document bindt.

GedragReferentieStatus
Model voor interactief formulier / veld-dictionaryISO 32000-2 §12.7Afgestemd (geparafraseerd)
XFDF-data-uitwisselingsformaatISO 19444-1:2019Afgestemd

Deze tabel legt de specificaties vast waartegen NextPDF Pro is gebouwd. Het is geen verklaring van formele certificering.

  • FormDataExtractor leest naam/waarde-paren uit geparseerde terminale veld-dictionaries en retourneert een XfdfData-object of een platte name → value-array.
  • XfdfParser parseert een XFDF-document tot gestructureerde data; XfdfWriter serialiseert veldwaarden naar XFDF met een optionele verwijzing terug naar de bron-PDF.
  • XfaParser lokaliseert de XFA-pakketten, voegt de XML-fragmenten samen en parseert de template- en datasets-pakketten tot gestructureerde velddata. Deze wijst PDF-invoer groter dan zijn scanplafond af in plaats van onbegrensde data te lezen.
  • XFA-ondersteuning is data-georiënteerd: de parser extraheert en structureert template- en datasets-pakketten. Deze voert geen XFA-formulierberekeningsscripts uit, rendert geen dynamische XFA-lay-outs en doet geen round-trip van elk XFA-pakkettype.
  • Alle XML-parsing schakelt externe-entiteitresolutie uit (XXE-veilig).

Enterprise verandert het Form-gedrag niet. Enterprise voegt hoger-niveau compliance- en archiveringsfuncties toe die apart worden gedocumenteerd; ze zijn niet vereist voor AcroForm-round-trip, XFDF lezen/schrijven of XFA-data-extractie.

De open-source formulierlezer van NextPDF Core leest formuliervelden. XFDF lezen/schrijven, XFA-data-extractie en veldbinding zijn Pro-toevoegingen. Zie /modules/form/.

Deze pagina documenteert alleen extern waarneembaar gedrag en het ondersteunde publieke API-oppervlak. Interne namespace-paden, helperklassen, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten de scope.