我试图通过FOP渲染大约100,000 - 80个列记录,并且它每次都很多(OutOfMemoryException) . 我知道iText可以处理这种负载但我不能使用它因为LGPL许可证 . 是否有任何替代Java库到iText可以处理大量数据到PDF?
有商业PDF生成库,例如BFO和ElegantJ . 如果你需要开源,有PDFBox,但我不知道它是否已准备就绪 .
看看RenderX是否可以替代FOP .
这需要花钱,但如果你有一个现有的解决方案可能是最便宜的 .
您是否尝试增加JVM可用的堆量?处理大量数据时OUTOfMemory通常需要更多内存 .
Qoppa和Crionics都提供创建PDF的商业工具 .
有一些替代方案
http://www.ulimatbach.de/java/PDF-Bibliotheken.html
尝试pdfjet是bsd许可,还有一个商业版本具有更多功能http://pdfjet.com/os/edition.html
Aspose提供a PDF component for Java . Aspose还用于创建Word(或.Net)中的Word,Excel,PowerPoint ...文档 .
但是,它不是一个免费软件......
对于你来说,这可能有点晚了迈克C.但是如果其他人有类似大文件的低足迹要求和再分配要求,那么值得分享 . Docmosis社区版可以自由地重新分发,并且可以生成具有恒定内存占用量的非常大的文档(基于流的处理) . 您(或您的客户 - 因为您暗示重新分发)必须愿意在某处安装OpenOffice以允许转换 .
8 回答
有商业PDF生成库,例如BFO和ElegantJ . 如果你需要开源,有PDFBox,但我不知道它是否已准备就绪 .
看看RenderX是否可以替代FOP .
这需要花钱,但如果你有一个现有的解决方案可能是最便宜的 .
您是否尝试增加JVM可用的堆量?处理大量数据时OUTOfMemory通常需要更多内存 .
Qoppa和Crionics都提供创建PDF的商业工具 .
有一些替代方案
http://www.ulimatbach.de/java/PDF-Bibliotheken.html
尝试pdfjet是bsd许可,还有一个商业版本具有更多功能http://pdfjet.com/os/edition.html
Aspose提供a PDF component for Java . Aspose还用于创建Word(或.Net)中的Word,Excel,PowerPoint ...文档 .
但是,它不是一个免费软件......
对于你来说,这可能有点晚了迈克C.但是如果其他人有类似大文件的低足迹要求和再分配要求,那么值得分享 . Docmosis社区版可以自由地重新分发,并且可以生成具有恒定内存占用量的非常大的文档(基于流的处理) . 您(或您的客户 - 因为您暗示重新分发)必须愿意在某处安装OpenOffice以允许转换 .