java把html转成pdf文件

html-css07

java把html转成pdf文件,第1张

renderer.createPDF( os )捕捉下异常,看是不是跳走廊,在close之前调用os.flush()试试。

String docPath = session.getAttribute("docpath").toString()//获取文件HTML文件路径

String inputFile = docPath+"html"//定义输入文件全名

String url = new File(inputFile).toURI().toURL().toString()

String outputFile =docPath + "pdf"//定义输出文件全名

OutputStream os = new FileOutputStream(outputFile)

ITextRenderer renderer = new ITextRenderer()实例化一个ITextRenderer

renderer.setDocument(url)

ITextFontResolver fontResolver = renderer.getFontResolver()

ontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED)//设置字体

// 解决图片的相对路径问题

renderer.getSharedContext().setBaseURL("file:/" + application.getRealPath("UserFiles/Image") + "/")

renderer.layout()

renderer.createPDF(os)

os.close()

public boolean convertHtmlToPdf(String inputFile, String outputFile)

throws Exception {

OutputStream os = new FileOutputStream(outputFile)

ITextRenderer renderer = new ITextRenderer()

String url = new File(inputFile).toURI().toURL().toString()

renderer.setDocument(url)

// 解决中文支持问题

ITextFontResolver fontResolver = renderer.getFontResolver()

fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)

//解决图片的相对路径问题

renderer.getSharedContext().setBaseURL("file:/D:/")

renderer.layout()

renderer.createPDF(os)

os.flush()

os.close()

return true

}

上面这段代码是这样的,输入一个HTML地址URL = inputFile,输入一个要输出的地址,就可以在输出的PDF地址中生成这个PDF。