Подтвердить что ты не робот

Библиотека создания PDF для Java

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

Мои требования

  • генерация PDF-документов на лету (в основном формы заказов, счета-фактуры)
  • На основе Java
  • легко для компоновки
  • должен быть открытым.
  • легко изменить макет

Многие люди, похоже, используют iText, но у меня есть некоторые проблемы (кроме измененной лицензии) относительно разделения проблем: в контексте HTML есть хорошая поддержка MVC, где я обычно придерживаюсь Spring MVC и FreeMarker для отдельная логика и макет. Я немного обеспокоен тем, что с iText вы в конечном итоге смешиваете код и макет.

Я знаю, что Apache FOP может быть решением здесь, но опять же я нахожу XSLT утомительным для работы, и я читал, что FOP может быть медленным, когда дело доходит до огромного throuput многих документов?

Я также рассматривал JasperReports, но, по моему мнению, это больше подходит для отчетов, содержащих табличные наборы данных, а не для отдельных документов, таких как счета-фактуры, для которых требуется много форматирования макета?

Любые мысли об этом?

4b9b3361

Ответ 1

Попробуйте попробовать JasperReports. Используйте iReport для создания файлов .jrxml. JapserReports может обрабатывать сложные макеты. Для тех частей отчета, которые основаны на разных запросах, посмотрите на использование вложенных отчетов в основной отчет.

Подобно решению @Adrian Smith, этот подход отделяет редактирование макета отчета от источника данных.

Ответ 2

Я реализовал хорошее решение, где мое программное обеспечение создает независимый от формата "чистый" XML файл, затем я даю моему боссу XSD, и он помещает его в Altova StyleVision, где он может проектировать отчеты WYSIWYG на основе данных, которые он выгружает из XSD. Это программное обеспечение создает XSLT. Итак, моя программа:

  • Производит независимый от формата "чистый" XML
  • Преобразует его в XSLT, выход которого - XML-FO
  • Используйте Apache FOP для преобразования XML-FO в PDF

Это действительно отличное решение, означает, что я больше не должен (как программист) менять свой код каждый раз, когда мой босс хочет изменить цвет в отчете, моя задача - просто создать "чистый" XML.

Обновление:. Следует также отметить, что я предоставляю свой босс доступ к нашему репозиторию SVN с помощью Tortoise SVN, который достаточно прост в использовании, и он может использовать его без ошибок. Поэтому он может проверять файлы XSLT прямо в SVN и запускать сборку/развертывание без необходимости прерывать работу. Очевидно, что рабочий процесс работает только с людьми, которые достаточно точны, чтобы они не совершали ошибок и т.д., Но в этом случае нам все хорошо.

Ответ 3

Docmosis позволяет создавать шаблоны в Word или OpenOffice writer - разделение проблем красиво, а макет - в наиболее знакомых инструментах.

Ответ 4

Основываясь на моем опыте, я предлагаю вам рассмотреть следующие Java PDF Libraries для создания отчетов в формате PDF,

  • DynamicReports
  • Apache PDF Box
  • iText PDF
  • PDF Clown

Для вашего требования, я думаю, что DynamicReports будет правильным выбором. Я использую динамические отчеты за последние 3 года для всех моих требований к отчетности в формате PDF. С очень небольшим количеством кода вы можете легко создать действительно динамический PDF. Dynamicreports - обертка вокруг отчета Jasper. Таким образом, он внутренне использует отчет Джаспера.

Ответ 5

Я использовал JODConverter какое-то время, и мне это очень нравится.

Мы используем JODReports для создания динамических документов OpenOffice.org(которые внутренне используют FreeMarker). Затем мы конвертируем эти документы в PDF-документы с помощью JODConverter.

Звучит много, но на самом деле это не так.

Ответ 6

Одна из возможностей -

  • чтобы создать документы в формате PostScript, а затем
  • преобразуйте его в pdf с помощью ghostscript (ps2pdf)