2012-05-11 6 views
1

iText를 사용하여 PDF를 생성 중입니다. 머리말과 꼬리말을 표시하고 있습니다. 이제 특정 페이지의 헤더를 제거하고 싶습니다.iText 특정 페이지의 PDF 머리글 제거

예 : 50 페이지 PDF를 생성하는 경우, 마지막 50 번째 헤더를 표시하고 싶지 않습니다. 어떻게이 작업을 수행 할 수 있습니까?

여기 내 꼬리말은 꼬리말 (헤더 부분 삭제됨)을 생성합니다.

public class HeaderAndFooter extends PdfPageEventHelper { 

public void onEndPage (PdfWriter writer, Document document) { 
    Rectangle rect = writer.getBoxSize("art"); 
    switch(writer.getPageNumber() % 2) { 
    case 0: 

    case 1: 
     ColumnText.showTextAligned(writer.getDirectContent(), 
       Element.ALIGN_CENTER, new Phrase(String.format("%d", writer.getPageNumber())), 
       300f, 62f, 0); 
     break; 
    } 

} 

}

어떤 제안이? 미리 감사드립니다.

+1

의 추가/우리가 만든 몇 가지 코드, 특히 부분을 보여주십시오 당신은 단지 N-1 첫 페이지를 이동하여 두 번째 패스에 적응해야합니다 헤더. –

답변

1

당신은 2 패스 접근 방식을 사용할 수 있습니다

  • 1 패스 : 헤더없이 PDF 파일을 생성

  • 2 패스 : 모두에 헤더하지만 마지막 페이지에 도장을 찍어

iText 서적에서 가져온이 예제를 살펴보십시오.

int n = reader.getNumberOfPages() - 1; 

대신

int n = reader.getNumberOfPages();