2 Stimmen

Wie konvertiert man ein PDF mit einem ausgefüllten Formular in ein JPEG-Bild, indem man ImageMagick verwendet und die Formulardaten beibehält?

Ich versuche, dieses PDF mit ImageMagick (v 6.8.7-0) in ein JPEG-Bild zu konvertieren: https://dl.dropboxusercontent.com/u/10351891/cd.pdf

Ich habe keine funktionierende Lösung gefunden, um die ausgefüllten Daten im PDF zu erhalten. Dies ist einer der versuchten Befehle:

convert -colorspace CMYK -alpha off -interlace none -density 300x300 -quality 100 cd.pdf[0] cd_image.jpg

Da ImageMagick Ghostscript für die Konvertierung verwendet, habe ich es auch auf die letzte Version (v 9.10) aktualisiert, aber nichts hat sich geändert.

Der Befehl gibt immer ein paar Warnungen aus:

"Warnung: '0000000000 XXXXX n' wird als freier Eintrag betrachtet"

"/BBox hat keine Breite oder Höhe, was nicht zulässig ist."

Hat jemand einen Weg gefunden, es zu konvertieren?

Weitere Informationen:

Ich habe Preview für Mac verwendet, um das Formular auszufüllen.

In der Produktion verwenden wir Ubuntu und nicht Mac OS X, und das PDF ist nicht von mir ausgefüllt, sondern vorausgefüllt an uns gesendet.

2voto

yms Punkte 10210

Es ist ein bekanntes Problem, dass die Max OS X PDF-Vorschau AcroForms nicht richtig unterstützt, siehe diesen Blog-Beitrag, der einige Details enthält: Script zur Behebung von Mac OSX Preview.app Formularausfüllung und Speichern.

Ihre PDF-Formularfelder haben unter anderem einen fehlenden Bestandteil: den Erscheinungsstrom (eine Reihe von Anweisungen, die dem Betrachter mitteilen, wie der Feldwert gerendert werden soll, wenn er nicht bearbeitet wird).

Wenn Sie festlegen können, welcher PDF-Viewer zur Bearbeitung der Formulare verwendet werden soll, dann vermeiden Sie die Mac OS X-Vorschau. Wenn Sie die Mac OS X-Vorschau unterstützen müssen, dann können Sie versuchen, diese Information programmatisch mit jeder PDF-Bibliothek, die das Ausfüllen von Formularen ermöglicht, neu zu generieren, oder Sie können stattdessen einen Formularflachlegungsprozess anwenden (die "dynamischen" Texte in statische umwandeln), bevor Sie als JPEG exportieren.

Beispiele:

  • Wenn Sie Zugriff auf einen Windows-Computer und Adobe Acrobat haben, können Sie es mit dem zuvor erwähnten Skript versuchen.
  • Wenn Sie Zugriff auf einen Windows-Computer haben und der Kauf einer kommerziellen Bibliothek eine Option ist, können Sie es mit Amyuni PDF Ersteller versuchen (Haftungsausschluss: Ich arbeite für Amyuni Technologies). Um den Erscheinungsstrom neu zu generieren, müssen Sie die Formularfelder auflisten, ihre Werte abrufen, ihnen einen leeren Wert zuweisen und ihnen dann die ursprünglichen Werte erneut zuweisen. Für die Formularflachlegung müssen Sie das Anmerkungsattribut jedes Formularfelds auf false setzen.
  • Wenn Sie Zugriff auf einen Linux-Computer haben und eine Bibliothek mit GPL-Lizenz kein Problem darstellt, können Sie versuchen, eine Java-Anwendung mit iText zu erstellen, die Methode PdfStamper.setFormFlattening(boolean) scheint das zu tun, was Sie brauchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X