2

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

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

pdftk foo.pdf output bar.pdf flatten

и откройте bar.pdf в программе чтения PDF, она сгладится , но данных, которые были в полях, просто нет. PDF такой же, как если бы он не был заполнен, за исключением заполненных полей.

Есть что-то, чего я здесь не хватает?

Все решения, которые я нахожу в Google, касаются заполнения пустых форм файлами .fdf , что на самом деле не относится к моей ситуации.

1 ответ1

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 не делает что-то подобное, во-первых, мне не под силу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .