1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java xml内存泄漏_java - iText HTML到PDF的内存泄漏 - 堆栈内存溢出

java xml内存泄漏_java - iText HTML到PDF的内存泄漏 - 堆栈内存溢出

时间:2023-11-26 23:58:51

相关推荐

java xml内存泄漏_java - iText HTML到PDF的内存泄漏 - 堆栈内存溢出

对于Maven项目:将以下依赖项添加到项目的pom.xml文件中:

org.apache.poi

poi-ooxml

3.14

com.itextpdf

itextpdf

5.5.8

com.itextpdf.tool

xmlworker

5.5.8

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import org.apache.poi.util.IOUtils;

import com.itextpdf.text.Document;

import com.itextpdf.text.DocumentException;

import com.itextpdf.text.pdf.PdfWriter;

import com.itextpdf.tool.xml.XMLWorkerHelper;

public class HtmlToPdf {

public static void main(String[] args) throws DocumentException, IOException {

File htmlFile = new File(args[0]);

String pdfFileName = "test.pdf";

Document document = new Document();

PdfWriter writer = null;

InputStream is = null;

OutputStream out = null;

if (htmlFile.exists()) {

try {

is = new FileInputStream(htmlFile);

out = new FileOutputStream(pdfFileName);

writer = PdfWriter.getInstance(document, out);

document.open();

XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);

System.out.println("PDF Created!");

} finally {

// close the document before before input stream (is) and writer closure

if(document != null && document.isOpen()) {

document.close();

}

// no harm in closing writer here

if(writer != null) {

writer.close();

}

IOUtils.closeQuietly(out);

IOUtils.closeQuietly(is);

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。