2014-01-17 248 views
0

我坚持以下条件,我需要生成pdf。如何使用ITextRenderer在每个页面上添加页眉和页脚

我在做什么是

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; 

在我的控制器,以生成PDF使用ITextRenderer。 我的控制器的内容如下所示。

@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我使用的jar是iText-paulo-155.jar,itext-2.1.0.jar 在此先感谢。

回答

2

如果您可以直接访问iText的PdfWriter,则可以使用PdfPageEvent界面。如何通过PdfPageEvent创建页眉和页脚的例子可以在这里找到:http://itextpdf.com/examples/iia.php?id=103

但是,如果你想添加类似“Y的页面X”到页眉或页脚 - 你应该使用PdfStamper代替。它的一个例子可以在这里找到:http://itextpdf.com/examples/iia.php?id=118

+0

谢谢回复我想第二个工作但你可以告诉它是否接受此HTML标记是什么样我试过document.add(新段(”

hiiii“));.但它打印它。 – Anurag

+0

iText不支持HTML标记,它有它自己的格式结构。调查http://itextpdf.com/book/examples.php,以便可以找到很多各种iText示例。 –

+0

我认为它不应该忽略html标签是否有规定,它也应该接受html标签也.. – Anurag

相关问题