2013-04-19 3 views
2

현재 pdf로 추가하는 데 문제가 있습니다. 방금 생성했습니다. 나는 PdfCopy를 보았지만 나의 상황은 조금 다르다. 나는 지금 당장 생성 된 pdf 파일을 가지고 있으며, 기존 pdf 파일을 추가 할 필요가있는 클라이언트에게 보내기 전에현재 pdf에 현재 생성 된 정적 pdf를 itext를 사용하여

답변

4

기존 PDF에있을 수있는 모든 대화 형 기능을 잃지 않으려면 PdfReaderPdfImportedPage을 사용할 수 있습니다. documentation, 특히 섹션 6.2.1 "페이지 가져 오기"섹션을 읽어보십시오. 또한 예를 ImportingPages1을 다운로드하거나이 코드에 좀 걸릴 수 있습니다 :

PdfReader reader = new PdfReader(existing_pdf); 
PdfImportedPage page = writer.getImportedPage(reader, pagenumber); 
document.setPageSize(reader.getPageSize(pagenumber)); 
document.newPage(); 
PdfContentByte canvas = writer.getDirectContent(); 
canvas.addTemplate(page, 0, 0); 

이 조각은 메모리에서 작성되었습니다. 즉시 작동하지 않으면 여기 저기에서 조정해야 할 수도 있습니다.

+0

새로 생성 된 메모리 ('ByteArrayOutputStream')를 직렬화하여'PdfReader'로 읽어 들인 다음'Pdf * Copy * '를 사용하여 병합 할 수 있습니다 ... – mkl

+0

@Bruno 문제는 "existing_pdf"가 아닙니다. 존재한다 (즉석에서). 그것은 응답의 본문에 인쇄하고있는 단지 문서입니다. – pms

+0

@pmp existing_pdf가 존재하지 않으면, "나는 이미 pdf 파일을 추가하는 데 문제가있다"와 "기존 PDF 파일을 추가해야한다"라는 질문을 업데이트 할 것을 제안합니다. 그 문장을 다음과 같이 해석하기 때문에 : existing_pdf. 즉, 귀하의 추가 의견은 귀하의 원래 질문과 모순됩니다. –

관련 문제