2009-09-04 9 views
26

Próbuję renderować około 100 000 - 80 rekordów kolumn za pośrednictwem FOP i zbiorniki te są zawsze za każdym razem (OutOfMemoryException). Wiem, że iText poradziłby sobie z takim ładunkiem, ale nie mogę go używać z powodu licencji LGPL. Czy istnieją jakieś alternatywne biblioteki Java do iText, które mogą obsłużyć renderowanie dużej ilości danych do pliku PDF?Czy istnieją jakieś alternatywy tworzenia plików PDF w formacie Java PDF do iText?

+2

Dlaczego nie można użyć LGPL? – cletus

+0

Dlaczego nie iText? http://stackoverflow.com/questions/602977/interactive-pdf-creation-alternatives-to-acrobat – adatapost

+0

Um, wspomniał o iText, ale ma ograniczenia ze względu na licencję. – cletus

Odpowiedz

24

Istnieją komercyjne biblioteki generujące PDF, takie jak BFO i ElegantJ. Jeśli potrzebujesz open source, jest PDFBox, ale nie wiem, czy jest gotowy do produkcji.

+0

Dzięki za sugestie przyjrzę się im. –

+1

PdfBox jest aktywny, teraz strona główna to http://pdfbox.apache.org. – xmedeko

+3

wdrażamy z pdfboxem - działa bardzo ładnie. –

2

Zobacz RenderX jako alternatywę dla FOP.

To kosztuje, ale jeśli masz istniejące rozwiązanie, które może być najtańsze.

1

Aspose oferuje a PDF component for Java. Aspose służy również do tworzenia dokumentów Word, Excel, PowerPoint ... w Javie (lub .Net).

Jednak nie jest to darmowe oprogramowanie ...

+1

Biblioteka Aspose Java PDF to gorące śmieci. Nie obsługuje nawet formatowania HTML. – iandisme

+0

Nigdy nie miałem dobrego doświadczenia z żadnymi produktami Aspose - dodatkowo kosztują. – vikingsteve

2

Czy chciał zwiększyć ilość dostępnej sterty JVM? OUtOfMemory podczas przetwarzania ogromnych ilości danych zwykle wymaga więcej pamięci.

+0

Tak, problem polega na tym, że FOP wymaga zrzutu całego dokumentu XML w pamięci, po prostu nie może obsłużyć obciążenia. Zwiększyłem przestrzeń sterty do 1GB i nadal nie mam wyjścia. –

1

Qoppa i Crionics oferują komercyjne narzędzia do tworzenia plików PDF.

-1

To może trochę spóźnić się dla pana Mike'a, ale w przypadku, gdy inni mają proste, duże dokumenty, wymagania dotyczące niskiego rozmiaru i redystrybucji, to warto się nimi podzielić. Docmosis Edycja wspólnotowa może być swobodnie rozpowszechniana i może tworzyć bardzo duże dokumenty ze stałym śladem pamięci (przetwarzanie strumieniowe). Ty (lub Twoi klienci - skoro sugerujesz redystrybucję) musiałbyś chcieć zainstalować OpenOffice, aby umożliwić konwersję.