views:

1535

answers:

9

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?

+3  A: 

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.

Yishai
Thanks for the suggestions I'll take a look at them.
Mike C.
+1  A: 

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.

Thorbjørn Ravn Andersen
A: 

Just for FWIW, LGPL is a more permissive license than GPL which permits use in proprietary works without requiring that the work in which it's used is open-sourced or anything else. There should be no reason you can use an LGPL product in anything. That includes if you want to change the LGPL software or create a derivative work, never mind just using it as a black box.

Disclaimer: I am not a lawyer - read and understand the license yourself or have your legal team look at it.

Software Monkey
I know unfortunately my company does not allow use of Open Source products with the LGPL license.
Mike C.
+2  A: 

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...

romaintaz
+1  A: 

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.

Jeroen van Bergen
Yeah, the problem is FOP requires you dump all the XML doc in memory it simply can't handle the load. I increased the heap space up to 1GB and still a no go.
Mike C.
+1  A: 

Qoppa and Crionics both offer commercial tools to create PDFs.

mark stephens
+2  A: 

I just noticed that iText has a commercial license if you are willing to shell out for it.

Details here

Martin Wickman
A: 

Hello,

I am working for a company called ceTe Software and we have a product for generating PDF documents which can handle more data without any problem. Our products are designed keeping the performance in mind. There is no limitation on the size of the PDF document or the number of pages a PDF can have. But make sure that the system has sufficient resources to generate huge PDF documents.

You can use the DynamicPDF for Java product for this and you can download the fully functional evaluation version from our website. You will get sample examples and a help documentation along with the product download. You can refer them for help, you can also contact our support team at [email protected] for any technical queries.

We offer our products in two licensing models, server based licensing and developer based licensing. You can choose one model depending on your requirement. You can contact us ([email protected]) for more details on licensing.

Please feel free to visit our website at http://www.cete.com and download the evaluation product from Java section.

Thanks,

Ranganadh ceTe Software Support Team.

Ranganadh
A: 

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.

jowierun