Java PDF манипулирование и рендеринг - PullRequest
8 голосов
/ 10 февраля 2011

Я надеюсь, что этот вопрос станет исчерпывающим руководством по манипулированию PDF и рендерингу в Java.У меня есть довольно всеобъемлющая реализация, соединив несколько библиотек с открытым исходным кодом, я хотел бы улучшить ее.

Фон

Мои требования и текущая реализация:

  1. Проверка существующих документов PDF на предмет определенных условий (версия PDF, защита паролем, встраивание шрифтов, таблицы перекрестных ссылок и т. Д.) - не реализовано.
  2. Разрешить определение полей Acroform с помощью совместной страницы.ординаты или какой-то другой механизм.- Не реализовано
  3. Предоставить возможность перебирать поля формы в PDF, проверять тип поля и заполнять его данными - iText v 2.0.8
  4. Визуализация PDFк изображению с разными разрешениями / DPI - две реализации (pdfrenderer и IcePDF )
  5. Отображение файлов HTML / XHTML в PDF - xhtmlrenderer * Flying Saucer
  6. Выполните все вышеперечисленное как библиотека в среде сервера Java (с учетом безопасности потоков)

Что мне не нравится

Я недоволен следующим:

  1. Лицензирование iText : Новые версии iText находятся под лицензией AGPL, которая не является стартовой для моего проекта (и коммерческих проектов в целом?).Плата за коммерческую лицензию нетривиальна (от цены на основе использования документа от нескольких центов до десятков тысяч за лицензии на сайт), и если я собираюсь заплатить лицензионные сборы за программное обеспечение, я хотел бы сделать полноепоиск рынка для лучшего продукта.Версии iText 2.x работают нормально, но в них достаточно ошибок.
  2. Соответствие PDF-версии : При использовании шрифта возникают странные проблемы с соответствиемвстраивание, таблицы перекрестных ссылок и т. д. в эти библиотеки, чтобы вызвать достаточное гореиз нескольких проблем в области встроенных шрифтов, изображений и слоев.

Что я надеюсь на

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

  • - это ваш ответ / комментарий, основанный на использовании или исследовании
  • название, версия библиотеки и лицензия (есликоммерческая лицензия, пожалуйста, включите стоимость, если это возможно)
  • что вы используете библиотеку для
  • что вам нравится в ней / что это хорошо с
  • что вам не нравитсяоб этом / что это не хорошо с
  • каково ваше общее впечатление

Ответы [ 3 ]

3 голосов
/ 11 февраля 2011

iText будет стоить вам денег только в том случае, если вы на самом деле зарабатываете на продукте, в котором используете его. Что большинство людей сочли бы справедливым. С чем вы сравниваете?

iText предлагает поддержку через StackOverflow для не платящих пользователей. И премиум-поддержка для платящих клиентов.

2 голосов
/ 14 февраля 2011

Наша библиотека BFO PDF Library в http://bfo.com может сделать большую часть этого довольно легко - загрузка PDF и определение его свойств, создание, повторение и заполнение полей формы и рендеринг PDF в растровое изображение - все это стандартные вещи. Преобразование из HTML или XHTML немного сложнее, но у нас есть сопутствующий продукт, Генератор отчетов BFO, который сделает это с помощью синтаксиса XML, очень похожего на XHTML + CSS.

Я не уверен, что вы имеете в виду под "соответствием версии PDF" - если у вас есть конкретные проблемы, вы можете остановиться на этом, но в противном случае я бы не стал слишком зацикливаться на фактическом номере версии в PDF - за редкими исключениями, функции PDFs в значительной степени обратно и совместимы (новые функции обычно просто игнорируются читателями, которые их не понимают).

Растрирование PDF в растровое изображение - это червь - правильная работа означает написание собственных синтаксических анализаторов шрифтов и изображений (большая работа: для шрифтов типа 1 требуется синтаксический анализатор PostScript) и преодоление квадратного колышка, представляющего собой рендеринг PDF модель в круглое отверстие, которое является моделью AWT. Это также зависит от программного обеспечения для создания PDF, выполняющего работу должным образом. Итак, какое бы программное обеспечение вы ни выбрали, если файл не отображается должным образом, отправьте его по электронной почте в службу поддержки - мы всегда ищем хлопотные PDF-файлы для наших коллекций.

На нашем веб-сайте есть дополнительная информация и пробная версия для загрузки, и если вы хотите получить информацию о стоимости лицензирования, просто напишите нам.

Ура ... Майк (технический директор @ BFO)

0 голосов
/ 15 ноября 2011

Существует также ghostscript, который может отображать pdf в различных DPI

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300x300 -sOutputFile=page_%d.png doc.pdf
...