Как преобразовать PDF с заполненной формой в изображение JPEG, используя ImageMagick и сохранив данные формы?
Я пытаюсь преобразовать этот PDF-файл в изображение JPEG с помощью ImageMagick (v 6.8.7-0): https://dl.dropboxusercontent.com/u/10351891/cd.pdf
Я не нашел никакого рабочего решения, чтобы сохранить заполненные данные в PDF. Это одна из попыток команды:
convert -colorspace CMYK -alpha off -interlace none -density 300x300 -quality 100 cd.pdf[0] cd_image.jpg
Поскольку ImageMagick использует Ghostscript для преобразования, я также обновил его до последней версии (v 9.10), но ничего не изменилось.
Команда всегда выводит несколько предупреждений:
"Warning: considering '0000000000 XXXXX n' as a free entry"
"/BBox has zero width or height, which is not allowed."
Кто-то нашел способ преобразовать это?
Дополнительная информация:
Я использовал Preview для Mac, чтобы заполнить форму.
На производстве мы используем Ubuntu, а не Mac OS X, и PDF не заполнен мной, но он отправлен нам предварительно заполненным
1 ответ
Известно, что Max OS X PDF Preview не поддерживает AcroForms должным образом, см. Этот пост в блоге, в котором содержатся некоторые подробности: Сценарий для исправления Mac OSX Preview.app Заполнение и сохранение формы.
Среди других ошибок, в ваших полях формы PDF отсутствует недостающая часть информации: поток внешнего вида (набор инструкций, которые сообщают зрителю, как значение поля должно отображаться, когда оно не редактируется).
Если вы можете указать, какой просмотрщик PDF следует использовать для редактирования форм, избегайте предварительного просмотра Mac OS X. Если вам требуется поддержка предварительного просмотра Mac OS X, то вы можете попытаться повторно сгенерировать эту информацию программно с помощью любой библиотеки PDF, которая позволяет заполнять формы, или вместо этого вы можете применить процесс выравнивания формы (преобразование "динамического" текста в статический). перед экспортом в формате JPEG.
Примеры:
- Если у вас есть доступ к коробке Windows и Adobe Acrobat, вы можете попробовать использовать скрипт, упомянутый выше.
- Если у вас есть доступ к Windows-боксу и вы можете приобрести коммерческую библиотеку, попробуйте Amyuni PDF Creator ( отказ от ответственности: я работаю для Amyuni Technologies). для регенерации потока внешнего вида вам нужно будет перечислить поля формы, получить их значения, установить для них пустое значение, а затем переназначить им исходные значения. Для выравнивания формы необходимо установить атрибут аннотации каждого поля формы в значение false.
- Если у вас есть доступ к Linux-блоку, а библиотека с лицензией GPL не является проблемой, вы можете попробовать создать приложение Java с iText, метод PdfStamper.setFormFlatening(boolean), кажется, делает то, что вам нужно.