展开全部
我们单位有这个地方使用到生成pdf文件//to render the content which is provided by specified URL, a JSP or Servlet
ITextRenderer renderer = new ITextRenderer();
try
{
// 解决中文支持问题
ITextFontResolver fontResolver = renderer.getFontResolver();
String strFullPath = getServletContext().getRealPath("/");
fontResolver.addFont(strFullPath+"/report/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
fontResolver.addFont(strFullPath+"/report/simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.setDocument(url);
renderer.getSharedContext().setBaseURL(baseURL);
//render
renderer.layout();
try
{
renderer.createPDF(os);
}
catch(Exception e)
{
e.printStackTrace();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
主要使用包为itext2.0.8.jar和xhtmlrender.jar
原理是把符e68a8462616964757a686964616f31333332613666合xhtml规范的html代码渲染成pdf文件。详细的可以搜索一下。