我遇到以下需要生成pdf的情况。
我在做什么
String A="<html><head></head><body>Some start html content"
String B="here the string is create **dynamic** where this can be of any length"
String C=here its end section of html..... </body></html>"
String finalHtml=A+B+C;
在我的控制器中使用ITextRenderer生成PDF。 我的控制器内容如下所示。
@RequestMapping(value="/genratePdf",method=RequestMethod.GET)
public void getPdfGenration(HttpServletRequest request,HttpServletResponse response){
response.setContentType("application/pdf");
StringBuffer buf = new StringBuffer();
buf.append(finalHtml);
try{
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new StringBufferInputStream(buf.toString()));
ITextRenderer renderer = new ITextRenderer()
renderer.layout();
java.io.OutputStream os = response.getOutputStream();
renderer.createPDF(os);
os.flush();
os.close();
}catch (Exception ex) {
ex.printStackTrace();
}
这很好用并返回给我pdf但我面临的问题是在每个页面上放置标题内容。任何帮助或建议。我使用的是Spring 3.1.and我使用的是iText-paulo-155.jar,itext-2.1.0.jar 提前谢谢。
答案 0 :(得分:2)
如果您可以直接访问iText的PdfWriter
,则可以使用PdfPageEvent
界面。有关如何通过PdfPageEvent
创建页眉和页脚的示例,请访问:http://itextpdf.com/examples/iia.php?id=103
但是,如果您想在页眉或页脚中添加“Y页面X”之类的内容,则应使用PdfStamper
代替。可以在此处找到它的示例:http://itextpdf.com/examples/iia.php?id=118