Wie man PDF-Formularfelder automatisch in XML exportiert

8

Ich habe eine pdf Datei inklusive Formularfelder und muss die Daten in eine xml Datei AUTOMATISCH exportieren. Hier ist ein Bildschirm eines Beispielformulars, das ich zum Testen erstellt habe:

Hinweis: Es funktioniert großartig, wenn Sie MANUELL mit Acrobat Professional ausführen, indem Sie auf Tools > Form > Export Form Data klicken und schließlich die xml-Erweiterung für die Dateiausgabe auswählen. Dies ist das Ergebnis, das ich erhalte, wenn ich es manuell exportiere:

%Vor%

Ich muss es jedoch automatisieren, z. mit einem Python-Skript , Java-Implementierung oder einigen Befehlszeilentools . Irgendwelche Ideen, welche Bibliotheken oder Werkzeuge ich zum Export von Felddaten in xml verwenden könnte? Das Tool oder die Bibliothek sollte Open Source sein, damit ich es in meinen Workflow integrieren kann.

Ich habe bereits python pdfminer library ausprobiert, was mir geholfen hat, statische Teile (wie Static form header , First name: und Last name: ) der PDF Datei zu exportieren: Aber wie man Formularfelderdaten exportiert (in meinem Fall die Inhalt der Formularfelder first_name und last_name ) ??

EDIT: Fühlen Sie sich frei, die Datei hier herunterzuladen .

    
Michael 09.01.2014, 00:40
quelle

5 Antworten

6

Wie wäre es mit Apache PDFBox ? Es ist Open Source und könnte Ihren Anforderungen entsprechen, da auf der Website "Formulardaten aus PDF-Formularen extrahieren oder ein PDF-Formular ausfüllen" angezeigt wird.

BEARBEITEN: Sehen Sie sich die PrintFields Beispiel .

    
jimmyp.smith 23.01.2014, 21:00
quelle
1

In Java gibt es ein paar Bibliotheken, die mit PDF arbeiten, aber im Allgemeinen ist es schwierig, formatierte Informationen aus PDF zu erhalten. Ich habe das Ding nie umgesetzt, aber Qoppa sieht gut aus und scheint fortgeschritten zu sein, aber es ist nicht kostenlos. Es enthält jPDFFields , die nützlich sein sollten, um Werte aus Formularfeldern zu extrahieren. Außerdem gibt es einen ähnlichen Thread , in dem Informationen zum Befehlszeilen-Tool enthalten sind.

Ich hoffe, es wird für Sie hilfreich sein.

    
annaskulimowska 22.01.2014 19:31
quelle
1

In bash können Sie dies tun (zumindest mit meiner Version dieser Tools, weniger 444 und Cat 8.13):

%Vor%

Ich bekomme eine Ausgabe, die so aussieht:

%Vor%

Was Sie dann ganz offensichtlich mit Java / Python / awk / was auch immer analysieren können.

Wenn Sie sich natürlich nicht auf das Verhalten bestimmter Versionen von diesen verlassen möchten (nicht sicher, ob sie das immer tun oder nicht), können Sie alternativ weniger Quellcode , um zu sehen, wie es funktioniert.

    
James Kingsbery 22.01.2014 20:02
quelle
1

Ich hatte viel Erfolg mit pdfminer :

%Vor%

und dann analysieren Sie es mit Xpath und Join-Strings, um es aus Ihrem Code verwenden Sie den Code hier

außer dass es ein neues Kind auf dem Block namens Tabula , geschrieben in Rubin, die ich nicht die Chance bekommen habe zu verwenden, aber sollte groß sein

Ich verstehe, dass Sie keinen kostenpflichtigen Dienst nutzen möchten, aber erwähnenswert ist, dass Adobe einen Konvertierungsservice hat, der zum Zeitpunkt des Schreibens 2 $ pro Monat kostet, schau es dir an , sag einfach ...

    
Guy Gavriely 22.01.2014 20:08
quelle
0

Für eine Java-Lösung könnten Sie iText verwenden, um die Felder zu lesen und dann etwas wie jackson-datenformat-xml um die Ergebnisse als XML zu schreiben. Ein etwas einfaches Beispiel wäre:

%Vor%

Hier gibt es definitiv einige Verbesserungen, aber es kann ein guter Ausgangspunkt sein.

    
Jonathan 23.01.2014 10:22
quelle