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

1537
Justin Lardinois

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

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

pdftk foo.pdf output bar.pdf flatten 

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

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

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

2
У меня такая же проблема. Может кто-то пролить свет на это? У меня есть элементы формы в моем источнике PDF. после сглаживания мой вывод не имеет значений. версия 2.02 в Ubuntu 12.04 fbas 7 лет назад 0
возможно, стоит отметить, что мой PDF-файл был изменен MacS Quartz в инструменте предварительного просмотра. Так я заполнил поля формы PDF. когда я запускаю этот же исходный PDF-файл через ghostscript, он работает, но отмечает различные проблемы и предполагает, что виноват Кварц: **** В этом файле были ошибки, которые были исправлены или проигнорированы. **** Файл был создан: **** >>>> Mac OS X 10.11.6 Quartz PDFContext <<<< **** Пожалуйста, сообщите автору программного обеспечения, создавшего этот файл ****, что он не соответствует опубликованной спецификации Adobe **** в формате PDF. fbas 7 лет назад 0

1 ответ на вопрос

1
Daniel Landau

Я смог собрать воедино это решение.

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

Он использует pdftk для генерации файла fdf из заполненного pdf, а затем использует этот файл во втором прогоне, чтобы сгладить его. Почему pdftk не делает что-то подобное, во-первых, мне не под силу.

Похожие вопросы