pdftk flatten verliert ausfüllbare Felddaten

pdftk flatten verliert ausfüllbare Felddaten

Ich versuche, eine Lösung zu finden, um PDFs mit bereits ausgefüllten Feldern in einer Linux-Befehlszeile zu reduzieren. Zuerst habe ich mit GhostScript herumgespielt, aber festgestellt, dass dies dazu neigte, alle Felddaten in unbrauchbare Zeichen umzuwandeln.

Wenn ich diesen Befehl ausführe

pdftk foo.pdf output bar.pdf flatten

und in einem PDF-Reader öffnen bar.pdf, ist es abgeflacht, aber die Daten, die in den Feldern waren, sind einfach nicht vorhanden. Das PDF ist genauso, als wäre es nicht ausgefüllt, abzüglich der ausfüllbaren Felder.

Übersehe ich hier etwas?

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

Antwort1

Ich konnte diese Lösung zusammenschustern.

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

Es verwendet pdftk, um aus dem ausgefüllten PDF eine FDF-Datei zu generieren und verwendet diese Datei dann in einem zweiten Durchlauf, um sie zu reduzieren. Warum pdftk so etwas nicht von vornherein macht, ist mir schleierhaft.

verwandte Informationen