pdftk flatten теряет данные заполняемых полей

pdftk flatten теряет данные заполняемых полей

Я пытаюсь найти решение для выравнивания PDF-файлов с уже заполненными полями в командной строке Linux. Сначала я возился с GhostScript, но обнаружил, что он имеет тенденцию преобразовывать все данные полей в мусорные символы.

Когда я запускаю эту команду

pdftk foo.pdf output bar.pdf flatten

и открыть bar.pdfв 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 для генерации файла fdf из заполненного pdf, а затем использует этот файл во втором запуске для его выравнивания. Почему pdftk не делает что-то подобное изначально, мне непонятно.

Связанный контент