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 не делает что-то подобное в первую очередь мне не понятно.