私はHTMLテンプレートを解析し、itexライブラリを使用してpdfを変換しようとしています。ステージングとqaでは問題なく動作していますが、production.Belowはサンプルですコード。以下はメモリからのヒープスペースエラーitextを通じてpdfを生成中
String template = null;
Document document = null;
HTMLWorker htmlWorker;
OutputStream outputStream = null;
document = new Document();
document.open();
document.addTitle("SeatSeller Agent Invoice");
document.addHeader("Content-Disposition", "attachment");
document.addHeader("name", "redbusTicket");
document.addHeader("filename", "test.pdf");
document.addHeader("Content-Type", "application/pdf");
document.addHeader("Content-ID", "test.pdf");
document.addHeader("Content-Description", "SeatSellerInvoice.pdf");
htmlWorker = new HTMLWorker(document);
Handlebars handlebars = new Handlebars();
String filePath = null;
template = handlebars.compile("invoicepdftemplate").apply(creditInvoice);
filePath = creditInvoice.getAccount().toString() + "_"
+ MMM_FORMATTER.format(creditInvoice.getDate())
+ YYYY_FORMATTER.format(creditInvoice.getDate()) + ".pdf";
htmlWorker.parse(new StringReader(template));
document.close();
outputStream = new FileOutputStream(filePath);
ITextRenderer iTextRenderer = new ITextRenderer();
iTextRenderer.setDocumentFromString(template);
iTextRenderer.layout();
iTextRenderer.createPDF(outputStream);
File fileToBeUploaded = new File(filePath);
エラー - のスタックトレースです:
java.lang.OutOfMemoryError: Java heap space
at com.lowagie.text.pdf.codec.PngImage.decodeIdat(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.Image.getInstance(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.Image.getInstance(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.html.simpleparser.HTMLWorker.startElement(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.xml.simpleparser.SimpleXMLParser.processTag(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.xml.simpleparser.SimpleXMLParser.go(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.xml.simpleparser.SimpleXMLParser.parse(Unknown Source) ~[itext-2.1.7.jar:na]
at com.lowagie.text.html.simpleparser.HTMLWorker.parse(Unknown Source) ~[itext-2.1.7.jar:na]
はcode.Productionマシンのメモリ内の任意のメモリリークまたはいずれかの問題があるのX ms-256 Xmxの-365.Canの誰もが
を助けてくださいています
あなたはOOMEを取得していますか?スタックトレースを共有します。 – rkosegi
手元の問題とは別に、あなたは 'HTMLWorker'を使用しています。それは2011年に 'XMLWorker'に取って代わられました。 –
適切なiTextサンプルに従ってください。あなたはiTextの 'Document'を作成しますが、ライターは付けないので、あなたはどこにもPDFを書くことができません。次にiTextの* part *ではなく、他のライブラリで使われているiTextの機能のための*ラッパー*である 'ITextRenderer'を使います。さらに更新を検討する。 iText 2.1.7は古代です。 – mkl