pdftk flatten verliert füllbare Felddaten

1697
Justin Lardinois

Ich versuche, eine Lösung zu finden, um PDFs mit bereits ausgefüllten Feldern in einer Linux-Befehlszeile zu vereinfachen. Ich habe mich anfangs mit GhostScript herumgespielt, aber ich fand, dass alle Felddaten in Müllzeichen umgewandelt wurden.

Wenn ich diesen Befehl ausführen

pdftk foo.pdf output bar.pdf flatten 

und bar.pdfin einem PDF-Reader geöffnet, ist es abgeflacht, aber die Daten in den Feldern sind einfach nicht vorhanden. Das PDF ist genau so, als wäre es nicht ausgefüllt, abgesehen von den ausfüllbaren Feldern.

Fehlt hier etwas?

Bei allen Lösungen, die ich bei Google finde, geht es darum, leere Formulare mit .fdfDateien zu füllen, was sich nicht wirklich auf meine Situation bezieht.

2
Ich habe das gleiche Problem. Kann jemand das beleuchten? Ich habe Formularelemente in meinem Quell-PDF. nach dem Abflachen hat meine Ausgabe keine Werte. Version 2.02 auf Ubuntu 12.04 fbas vor 7 Jahren 0
Es kann erwähnenswert sein, dass meine PDF-Datei von MacS Quartz im Preview-Tool geändert wurde. So habe ich die PDF-Formularfelder ausgefüllt. Wenn ich dasselbe Quell-PDF durch Ghostscript starte, funktioniert es, beachte jedoch verschiedene Probleme und schlägt vor, dass Quartz daran schuld ist: **** Diese Datei hatte Fehler, die repariert oder ignoriert wurden. **** Die Datei wurde erstellt von: **** >>>> Mac OS X 10.11.6 Quartz PDFContext <<<< **** Bitte benachrichtigen Sie den Autor der Software, die diese ****-Datei erstellt hat Es entspricht nicht der von Adobe veröffentlichten PDF-Spezifikation ****. fbas vor 7 Jahren 0

1 Antwort auf die Frage

1
Daniel Landau

Ich konnte diese Lösung zusammensetzen.

flattenpdf() { if [[ $# -ne 2 ]] then echo "Usage: flattenpdf input.pdf output.pdf" return 1 fi temp=$(mktemp) pdftk "$1" generate_fdf output $  pdftk "$1" fill_form $ output "$2" flatten rm $ } 

Es verwendet pdftk, um eine PDF-Datei aus der ausgefüllten PDF-Datei zu generieren, und verwendet sie anschließend in einem zweiten Durchlauf, um sie zu reduzieren. Warum pdftk so etwas überhaupt nicht macht, liegt mir nicht.