2009-09-04 2 views
26

Я пытаюсь сделать около 100 000 - 80 записей столбцов через FOP, и он танков почти каждый раз (OutOfMemoryException). Я знаю, что iText может обрабатывать такую ​​нагрузку, но я не могу использовать ее из-за лицензии LGPL. Существуют ли альтернативные библиотеки Java для iText, которые могут обрабатывать большой объем данных в PDF?Есть ли какие-либо альтернативы создания Java PDF для iText?

+2

Почему вы не можете использовать LGPL? – cletus

+0

Почему не iText? http://stackoverflow.com/questions/602977/interactive-pdf-creation-alternatives-to-acrobat – adatapost

+0

Ум, он упомянул iText, но имеет ограничение из-за лицензии. – cletus

ответ

24

Существуют коммерческие библиотеки, генерирующие PDF, такие как BFO и ElegantJ. Если вам нужен открытый источник, есть PDFBox, но я не знаю, готово ли оно.

+0

Спасибо за предложения, я посмотрю на них. –

+1

PdfBox активен, только домашняя страница http://pdfbox.apache.org сейчас. – xmedeko

+3

мы развертываем с помощью pdfbox - он работает очень хорошо. –

2

Посмотрите на RenderX для альтернативы FOP.

Это стоит денег, но если у вас есть существующее решение, которое может быть самым дешевым.

1

Asposea PDF component for Java. Aspose также используется для создания документов Word, Excel, PowerPoint ... на Java (или .Net).

Однако, это не бесплатное программное обеспечение ...

+1

Библиотека Aspose Java PDF - это горячий мусор. Он даже не поддерживает форматирование HTML. – iandisme

+0

Никогда не было хорошего опыта работы с любыми продуктами Aspose - плюс, они стоят денег. – vikingsteve

2

Вы пытались увеличить количество кучи, доступной для виртуальной машины Java? OUtOfMemory при обработке огромных объемов данных обычно требует большей памяти.

+0

Да, проблема FOP требует, чтобы вы сбросили весь XML-документ в память, он просто не может справиться с нагрузкой. Я увеличил пространство кучи до 1 ГБ и все равно не пошел. –

1

Qoppa и Crionics предлагают коммерческие инструменты для создания PDF-файлов.

-1

Это может быть немного запоздалым для вас Майком К., но в случае, если у других есть другие документы с минимальными требованиями к площади и требованиями перераспределения, тогда их стоит обменять. Docmosis Публикация сообщества может быть свободно перераспределена и может создавать очень большие документы с постоянной памятью (обработка на основе потоков). Вы (или ваши клиенты, поскольку вы подразумеваете перераспределение) должны были бы захотеть установить OpenOffice где-нибудь, но разрешить конверсию.