Frage

Ich habe a erstellt PDF -Extraktionstool. Beispielbildschirm angehängt. enter image description here Der Benutzer kann eine PDF -Datei laden und den von ihm gewünschten Datenbereich auswählen. Dann schnappe ich mir PDF -Koordinaten und Seitennummer und speichere sie dann als Vorlage. Sobald der Benutzer eine Liste des PDF -Dateien -Tools geben kann, kann Daten entsprechend der Vorlagendatei extrahieren. Mein Werkzeug ähnelt diesem sehr.

Jetzt liegt das Problem manchmal in einigen PDFs, dass der Teil der zum Extrahieren erforderlichen Daten auf die nächste Seite verschoben wird. (Der Grund zum Verschieben ist; ich werde a geben Beispiel. Wenn Sie der Meinung sind, dass eine Liste der von Ihnen gekauften Artikel, die Sie gekauft haben, Der Ort des "Gesamtwerts" gedruckt hängt von der Anzahl der von Ihnen gekauften Artikel ab: Wenn es sich um eine lange Liste handelt, geht es insgesamt nach unten, sonst in der Mitte oder in der Nähe).

Deshalb denke ich jetzt darüber nach Identifizieren Sie die Struktur der PDF, anstatt Koordinaten zu erhalten.

Aber ich habe keine klare Idee, das zu tun. Bitte teilen Sie alles mit, Sie denken, dass dies zur Lösung dieses Problems hilft. Ich wiederhole noch einmal, dass ich versuche, Daten von einem PDF zu holen. Es ist also möglich Erfassen Sie die Struktur eines PDF Datei.

Meine Idee ist, wenn ich die Struktur identifizieren kann, kann ich sagen, wo der Wert ist. Zum Beispiel habe ich versucht, PDF in HTML umzuwandeln und durch die HTML -Tag -Werte zu navigieren. (Körper-> div-> table-> td-> usw.) Aber es war nicht erfolgreich .. :(

War es hilfreich?

Lösung

PDF hat nur schwache Strukturen, nichts wie Divs oder Behälter. Es gibt Schichtgruppen und ähnliche, aber Koordinaten sind das einzige, auf das Sie zählen können.

Versuchen Sie, die Art von Text und Rändern von links und rechts zu beschreiben, um Ihre Capture -Seite unabhängig zu machen.

Andere Tipps

Das PDF -Dateiformat enthält einen optionalen Satz von Metatags. Wenn diese verwendet werden, hat die Datei eine gewisse Struktur. Ansonsten haben Sie kein Glück. Ich habe einen Blog -Beitrag geschrieben, in dem Sie erfahren, wie Sie das herausfinden können http://www.jpedal.org/pdfblog/2010/09/the-easy-way-discover-if-pdf-file-contain-structured-content/

Sie können einige "Anker" wie "order qty" verwenden und dann Daten relativ zu diesem erfassen. Sich ansehen www.ivytools.net - In diesem Tool können Sie Regeln definieren, mit denen Sie angeben, wie Sie Werte im Verhältnis zu anderen Text im Dokument finden. In Ihrem Beispiel wäre es so etwas wie:

p.Find("ORDER QTY").Down()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top