Ich versuche, über FOP etwa 100.000 - 80 Spaltenaufzeichnungen zu rendern, und es puffert jedes Mal ziemlich viel (OutOfMemoryException). Ich weiß, iText könnte mit dieser Art von Last umgehen, aber ich kann es wegen der LGPL-Lizenz nicht verwenden. Gibt es zu iText alternative Java-Bibliotheken, mit denen ein hohes Datenvolumen in PDF gerendert werden kann?Gibt es Alternativen zur Java-PDF-Erstellung für iText?
Antwort
Es gibt kommerzielle PDF-generierende Bibliotheken wie BFO und ElegantJ. Wenn Sie Open Source benötigen, gibt es PDFBox, aber ich weiß nicht, ob es produktionsbereit ist.
Danke für die Vorschläge, die ich mir ansehen werde. –
PdfBox ist aktiv, nur die Homepage ist jetzt http://pdfbox.apache.org. – xmedeko
implementieren wir mit pdfbox - es hat sehr gut funktioniert. –
Werfen Sie einen Blick auf RenderX für eine Alternative zu FOP.
Es kostet Geld, aber wenn Sie eine vorhandene Lösung an Ort und Stelle haben, könnte das am billigsten sein.
Aspose Angebote a PDF component for Java. Aspose wird auch verwendet, um Word-, Excel-, PowerPoint- Dokumente in Java (oder .Net) zu erstellen.
Es ist jedoch keine freie Software ...
Die Aspose Java PDF-Bibliothek ist heißer Müll. Es unterstützt nicht einmal HTML-Formatierung. – iandisme
Niemals gute Erfahrungen mit Aspose-Produkten gemacht - und sie kosten Geld. – vikingsteve
Haben Sie versucht, die Menge an Heap auf die JVM zur Verfügung zu erhöhen? OUtOfMemory während der Verarbeitung großer Datenmengen erfordert normalerweise mehr Speicher.
Ja, das Problem ist, FOP erfordert, dass Sie das gesamte XML-Dokument im Speicher ablegen, es kann die Last einfach nicht verarbeiten. Ich habe den Heap-Speicher auf 1 GB erhöht und bin immer noch nicht in der Lage. –
Qoppa und Crionics bieten beide kommerzielle Tools zum Erstellen von PDFs.
Dies könnte ein wenig zu spät für Sie Mike C. sein, aber für den Fall, dass andere ähnliche Anforderungen an den geringen Platzbedarf und die Umverteilungsanforderungen haben, lohnt es sich, sie zu teilen. Docmosis Community Edition kann frei verteilt werden und kann sehr große Dokumente mit einem konstanten Speicherbedarf (Stream-basierte Verarbeitung) produzieren. Sie (oder Ihre Kunden - da Sie eine Neuverteilung implizieren) müssten allerdings bereit sein, OpenOffice irgendwo zu installieren, um die Konvertierung zu ermöglichen.
Es gibt einige Alternativen
try pdfjet lizenziert BSD- und es gibt auch eine kommerzielle Version mit mehr Funktionen http://pdfjet.com/os/edition.html
Warum können Sie nicht LGPL verwenden? – cletus
Warum nicht iText? http://stackoverflow.com/questions/602977/interactive-pdf-creation-alternatives-to-acrobat – adatapost
Ähm, er erwähnte iText, aber hat eine Beschränkung wegen der Lizenz. – cletus