Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 6 years ago.
I am trying to render about 100,000 - 80 column records through FOP and it tanks pretty much everytime (OutOfMemoryException). I know iText could handle that kind of load but I can't use it because of the LGPL license. Are there any alternative Java libraries to iText that can handle rendering a high volume of data to PDF?
There are commercial PDF generating libraries, such as BFO and ElegantJ. If you need open source, there is PDFBox, but I don't know if it is production ready.
Have a look at RenderX for an alternative to FOP.
It costs money, but if you have an existing solution in place that might be the cheapest.
Have you tried to increase the amount of heap available to the JVM? OUtOfMemory while processing huge amounts of data usually calls for more memory.
Qoppa and Crionics both offer commercial tools to create PDFs.
There are some alternatives
http://www.ulimatbach.de/java/PDF-Bibliotheken.html
try pdfjet is bsd licensed and there is also a commercial version with more features http://pdfjet.com/os/edition.html
Aspose offers a PDF component for Java.
Aspose is also used to create Word, Excel, PowerPoint... documents in Java (or .Net).
However, it is not a free software...
This might be a little late for you Mike C. but in case others have simliar large document low footprint requirements and redistribution requirements then it's worth sharing.
Docmosis Community edition can be freely redistributed and can produce very large documents with a constant memory footprint (stream based processing). You (or your customers - since you're implying redistribution) would have to be willing to install OpenOffice somewhere though to allow the conversion.