Я пытаюсь сделать около 100 000 - 80 записей столбцов через FOP, и он танков почти каждый раз (OutOfMemoryException). Я знаю, что iText может обрабатывать такую нагрузку, но я не могу использовать ее из-за лицензии LGPL. Существуют ли альтернативные библиотеки Java для iText, которые могут обрабатывать большой объем данных в PDF?Есть ли какие-либо альтернативы создания Java PDF для iText?
ответ
Существуют коммерческие библиотеки, генерирующие PDF, такие как BFO и ElegantJ. Если вам нужен открытый источник, есть PDFBox, но я не знаю, готово ли оно.
Спасибо за предложения, я посмотрю на них. –
PdfBox активен, только домашняя страница http://pdfbox.apache.org сейчас. – xmedeko
мы развертываем с помощью pdfbox - он работает очень хорошо. –
Посмотрите на RenderX для альтернативы FOP.
Это стоит денег, но если у вас есть существующее решение, которое может быть самым дешевым.
Asposea PDF component for Java. Aspose также используется для создания документов Word, Excel, PowerPoint ... на Java (или .Net).
Однако, это не бесплатное программное обеспечение ...
Библиотека Aspose Java PDF - это горячий мусор. Он даже не поддерживает форматирование HTML. – iandisme
Никогда не было хорошего опыта работы с любыми продуктами Aspose - плюс, они стоят денег. – vikingsteve
Вы пытались увеличить количество кучи, доступной для виртуальной машины Java? OUtOfMemory при обработке огромных объемов данных обычно требует большей памяти.
Да, проблема FOP требует, чтобы вы сбросили весь XML-документ в память, он просто не может справиться с нагрузкой. Я увеличил пространство кучи до 1 ГБ и все равно не пошел. –
Qoppa и Crionics предлагают коммерческие инструменты для создания PDF-файлов.
Это может быть немного запоздалым для вас Майком К., но в случае, если у других есть другие документы с минимальными требованиями к площади и требованиями перераспределения, тогда их стоит обменять. Docmosis Публикация сообщества может быть свободно перераспределена и может создавать очень большие документы с постоянной памятью (обработка на основе потоков). Вы (или ваши клиенты, поскольку вы подразумеваете перераспределение) должны были бы захотеть установить OpenOffice где-нибудь, но разрешить конверсию.
Есть несколько альтернатив
попытка pdfjet является Bsd лицензированных и есть также коммерческая версия с более широкими возможностями http://pdfjet.com/os/edition.html
Почему вы не можете использовать LGPL? – cletus
Почему не iText? http://stackoverflow.com/questions/602977/interactive-pdf-creation-alternatives-to-acrobat – adatapost
Ум, он упомянул iText, но имеет ограничение из-за лицензии. – cletus