2011-10-19 2 views
1

단일 페이지 pdf 템플릿 파일을 만들었습니다. 그런 다음 pdfbox를 사용하여 보고서 크기에 따라 페이지 수가 "n"개인 PDF를 만듭니다. 이 페이지의 모든 "n"을 템플릿 pdf 파일의 페이지로하고 싶습니다. 모든 "n"페이지를 해당 페이지의 사본으로 가져 오는 가장 좋은 방법은 무엇입니까? 다음은 현재 코드입니다.pdfbox로 페이지 n 번 복사

PDDocument document = null; 
try { 
    document = PDDocument.load(WestfieldClientReportApp.class.getResource("/com/dramble/resources/template.pdf")); 
} catch (IOException ex) { 
    Logger.getLogger(WestfieldClientReportView.class.getName()).log(Level.SEVERE, null, ex); 
} 

PDPage templatepage = (PDPage) document.getDocumentCatalog().getAllPages().get(0); 

int n = 0; 
while (n < numPages) { 
    n++; 
    document.importPage(templatepage); 
} 

큰 결과 집합이있는 경우 문제가 발생합니다. 나는 pdf를 열 것이다, 그것은 11 페이지로 보여줄 것이다, 첫번째 2 페이지는 멋지다. 그러나 제 3 페이지로 스크롤 할 때, 애크로뱃 에러, 템플릿 페이지는 거기에있을 것 같지만 그것에 대한 나의 리포트 데이터는 없다. 문제는 아마 위의 코드와 같습니다. 어떤 아이디어? 감사.

답변

0

목록에서 PDPage로 명시 적으로 캐스팅 할 때 해당 acrofield를 제거하기 때문일 수 있습니다.

관련 문제