Sto provando a eseguire il rendering di circa 100.000 - 80 record di colonne tramite FOP e si carica praticamente ogni volta (OutOfMemoryException). So che iText potrebbe gestire questo tipo di carico ma non posso usarlo a causa della licenza LGPL. Esistono librerie Java alternative a iText in grado di gestire il rendering di un volume elevato di dati in PDF?Esistono alternative di creazione del PDF Java a iText?
risposta
Esistono librerie di generazione di PDF commerciali, ad esempio BFO e ElegantJ. Se hai bisogno di open source, c'è PDFBox, ma non so se è pronto per la produzione.
Grazie per i suggerimenti darò un'occhiata a loro. –
PdfBox è attivo, solo la home page è http://pdfbox.apache.org ora. – xmedeko
distribuiamo con pdfbox - ha funzionato molto bene. –
Dai un'occhiata a RenderX per un'alternativa alla FOP.
Costa denaro, ma se avete una soluzione esistente sul posto che potrebbe essere la più economica.
Aspose offerte a PDF component for Java. Aspose viene anche utilizzato per creare documenti Word, Excel, PowerPoint ... in Java (o .Net).
Tuttavia, non è un software gratuito ...
La libreria di Aspose Java PDF è una spazzatura calda. Non supporta nemmeno la formattazione HTML. – iandisme
Mai avuto una buona esperienza con qualsiasi prodotto Aspose - in più, costano soldi. – vikingsteve
Hai provato ad aumentare la quantità di memoria riservata a disposizione della JVM? OUtOfMemory durante l'elaborazione di enormi quantità di dati richiede di solito più memoria.
Sì, il problema è che FOP richiede di scaricare tutto il documento XML in memoria, semplicemente non può gestire il carico. Ho aumentato lo spazio dell'heap fino a 1 GB e continuo a non andare. –
Qoppa e Crionics offrono entrambi strumenti commerciali per creare PDF.
Questo potrebbe essere un po 'tardi per te, Mike C. ma nel caso in cui altri abbiano requisiti di ridistribuzione e requisiti di ridistribuzione di documenti di grandi dimensioni, allora vale la pena condividere. Docmosis L'edizione della comunità può essere ridistribuita liberamente e può produrre documenti di grandi dimensioni con un'impronta di memoria costante (elaborazione basata sul flusso). Tu (oi tuoi clienti - dal momento che stai implicando la ridistribuzione) dovresti essere disposto a installare OpenOffice da qualche parte per consentire la conversione.
ci sono alcune alternative
prova pdfjet è concesso in licenza BSD e c'è anche una versione commerciale con più funzioni http://pdfjet.com/os/edition.html
Perché non si può usare LGPL? – cletus
Perché non iText? http://stackoverflow.com/questions/602977/interactive-pdf-creation-alternatives-to-acrobat – adatapost
Um, ha citato iText ma ha un vincolo a causa della licenza. – cletus