Я знаю, что об этом уже спрашивали, но я все еще не решил, какую структуру генерации PDF использовать для моего текущего проекта.
Мои требования
- оперативное создание PDF-документов (в основном бланки заказов, счета-фактуры)
- на основе Java
- легко компоновать
- должен быть с открытым исходным кодом
- легко изменить макет
Кажется, многие люди используют iText, но у меня есть некоторые опасения (помимо измененной лицензии) по поводу разделения задач: в контексте HTML есть хорошая поддержка MVC, где я обычно придерживаюсь Spring MVC и FreeMarker для разделения логики и макета. Я немного обеспокоен тем, что с iText вы в конечном итоге часто смешиваете код и макет.
Я знаю, что Apache FOP может быть решением здесь, но опять же я нахожу XSLT утомительным для работы, и я читал, что FOP может быть медленным, когда речь идет о огромной пропускной способности многих документов?
Я также рассмотрел JasperReports, но, насколько я понимаю, он больше подходит для отчетов, содержащих табличные наборы данных, а не для отдельных документов, таких как счета-фактуры, которые требуют большого форматирования макета?
Есть мысли по этому поводу?