2014-01-17 5 views
0

나는 pdf를 생성해야하는 다음과 같은 상태에 처해있다.ITextRenderer를 사용하여 각 페이지에 머리말과 꼬리말을 추가하는 방법

내가 뭘하고 있는가하면 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; 

입니다. 내 컨트롤러의 내용은 다음과 같습니다.

@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를 반환하지만 난이 직면하고있는 문제는 모든 페이지 .ANY의 도움이나 제안에 헤더에게 컨텐츠를 배치하는 것입니다. 나는 스프링 3.1.and 항아리를 사용하고 있는데 사용 된 iText-paulo-155.jar, itext-2.1.0.jar 미리 감사드립니다.

답변

2

iText의 PdfWriter에 직접 액세스 할 수있는 경우 PdfPageEvent 인터페이스를 사용할 수 있습니다. http://itextpdf.com/examples/iia.php?id=103

을 그러나 당신이 당신의 머리글 또는 바닥 글에 'Y의 페이지 X'같은 것을 추가 할 경우 - 대신 PdfStamper를 사용해야합니다 PdfPageEvent를 통해 머리글과 바닥 글을 작성하는 방법의 예는 여기에서 찾을 수 있습니다. 이에 대한 예는 여기에서 찾을 수 있습니다 : 내가 document.add 시도 어떤 샘플 (새 단락 ("

hiiii 답장에 대한 http://itextpdf.com/examples/iia.php?id=118

+0

덕분에 내가 하나의 작업 두번째 시도했지만 유는 여기에 HTML 태그를 수락 여부를 알 수있다 ")); 그러나 그것으로 인쇄합니다. – Anurag

+0

iText는 HTML 마크 업을 지원하지 않습니다. iText는 자체 형식 구조를 가지고 있습니다. http://itextpdf.com/book/examples.php를 조사하면 다양한 iText 예제를 많이 찾을 수 있습니다. –

+0

나는 그것이 HTML 태그도 받아 들여야한다고 규정하는 조항이 있는지 여부를 html 태그를 무시해서는 안된다고 생각한다. – Anurag

관련 문제