Преобразование экспортированных аннотаций PDF между FDF и XFDF

Мне нужно как анализировать, так и создавать аннотации PDF на основе экспорта FDF. Я бы предпочел работать с данными XFDF и стандартной технологией XML, но аннотации не экспортируются как XFDF с помощью Foxit Reader, который оказывается наиболее удобным инструментом для конкретной задачи разметки PDF.

Есть ли что-нибудь, что может конвертировать между FDF и XFDF? Я не видел никаких функций, связанных с XFDF, в документации iText.


person Thomas W    schedule 28.04.2017    source источник
comment
Комментарии, созданные продуктами Foxit PDF, не на 100% совместимы с другими программами просмотра PDF, поэтому анализ созданного FDF будет отключен. Вместо этого используйте бесплатный Acrobat Reader DC, который может напрямую экспортировать комментарии в XFDF, и вам не нужно будет переводить форматы.   -  person joelgeraci    schedule 28.04.2017
comment
@joelgeraci Пока у меня не было проблем с обменом комментариями между Adobe Reader и Foxit и обратно. Что именно несовместимо? В любом случае Adobe Reader не очень подходит для нашей задачи, заключающейся в разметке частично действительно больших документов с множеством строк. С Foxit я могу с комфортом рисовать 3 линии в секунду на графическом планшете. В Adobe Reader мне приходится повторно выбирать инструмент «Линия» после каждой строки. Лучше я сам напишу конвертер, чем признаю поражение ;-).   -  person Thomas W    schedule 28.04.2017
comment
Хорошо понял. Да, нужно доработать UX для некоторых инструментов комментирования в Reader. Проблемы взаимодействия больше связаны с генерацией внешнего вида, чем с фактическими свойствами, из-за которых аннотации кажутся скачущими или иным образом переформатируются при изменении в других редакторах.   -  person joelgeraci    schedule 28.04.2017
comment
Вы можете найти набор инструментов Adobe FDF (Google it) полезным для синтаксического анализа FDF, а затем вашего любимого инструмента XML для экспорта. Я по-прежнему рекомендую использовать Adobe Reader для экспорта примеров XFDF, чтобы вы могли написать свой собственный переводчик.   -  person joelgeraci    schedule 28.04.2017
comment
@joelgeraci Спасибо за подсказку. У вас есть опыт работы с инструментарием FDF? Я не вижу ничего, что могло бы мне сильно помочь с аннотациями. Он очень сосредоточен на формах. Поскольку FDF использует синтаксис PostScript, я подумываю написать программу PostScript, которая будет извлекать информацию за меня.   -  person Thomas W    schedule 28.04.2017
comment
Ага! Я забыл, что FDF Toolkit обрабатывает только аннотации полей формы. Прошло много лет с тех пор, как я прикоснулся к нему. FDF не использует синтаксис PostScript, это вариант синтаксиса PDF. Написание библиотеки синтаксического анализатора будет более утомительным, чем сложным, но если у вас есть синтаксический анализатор, преобразование в XFDF и обратно, хотя и несложное, будет своего рода пустой тратой вычислений.   -  person joelgeraci    schedule 28.04.2017
comment
Интересно, можно ли использовать XSLT для преобразования.   -  person Max Wyss    schedule 28.04.2017
comment
@MaxWyss: У меня довольно большой опыт работы с XSLT, но от FDF к XFDF - никак. Наоборот: конечно!   -  person Thomas W    schedule 30.04.2017
comment
@joelgeraci: Конечно, FDF использует синтаксис PDF, но PDF, в свою очередь, является своего рода строгой версией PostScript (с точки зрения синтаксиса - команды, конечно, другие). У меня был некоторый первоначальный успех с FDF и Ghostscript, но я надеялся, что смогу избежать этого грязного пути. Если я добьюсь чего-то полезного, я выложу это на GitHub и добавлю сюда свой ответ.   -  person Thomas W    schedule 30.04.2017
comment
Одна из идей - импортировать FDF обратно в исходный PDF (при условии, что он у вас есть), а затем использовать что-нибудь для его экспорта в XFDF. Вы можете сделать это массово, немного запрограммировав. Я не встречал APi, который просто конвертировал бы из FDF в XFDF, я работаю в компании (Datalogics), у которой есть Java SDK, который поддерживает импорт / экспорт с FDF и XFDF, это может быть излишним для того, что вы ищете делайте, если у вас нет сотен или более таких дел.   -  person Brandon Haugen    schedule 02.05.2017


Ответы (1)


Я написал небольшую программу PostScript, которую назвал fdf2xfdf, которая делает достаточно, чтобы я мог с ней работать. PostScript - не самый лучший язык для работы, но он отлично справляется с синтаксическим анализом FDF из коробки.

person Thomas W    schedule 03.05.2017