pdftk フラット化により入力可能なフィールドデータが失われる

pdftk フラット化により入力可能なフィールドデータが失われる

Linux のコマンド ラインで、すでに入力済みのフィールドを持つ PDF をフラット化するソリューションを模索しています。最初は GhostScript を試していたのですが、フィールド データがすべて文字化けする傾向があることがわかりました。

このコマンドを実行すると

pdftk foo.pdf output bar.pdf flatten

PDF リーダーで開くとbar.pdf、フラット化されますが、フィールドにあったデータは表示されません。入力可能なフィールドを除いて、PDF は入力されていない状態と同じです。

何か見落としている点はありますか?

Google で見つけた解決策はすべて、空のフォームに.fdfファイルを入力するというもので、私の状況には当てはまりません。

答え1

私はこの解決策をまとめることができました。

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}
}

pdftk を使用して、入力された PDF から fdf ファイルを生成し、そのファイルを 2 回目の実行で使用してフラット化します。そもそも pdftk がこのような処理を行わないのはなぜか、私には理解できません。

関連情報