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。