나는 아주 간단 할 것이라고 생각하는 것을 시도하고있다. 그러나 그것은 그렇게 간단하지 않고 구글도 도움이되지 못했다.iTextSharp를 사용하여 PDF에 빈 페이지를 추가하는 방법은 무엇입니까?
PDF 문서 (문자)를 병합하기 위해 iTextSharp를 사용하고 있습니다. 그래서 모두 한번에 인쇄 할 수 있습니다. 편지에 홀수 개의 페이지가 있으면 빈 페이지를 추가해야하므로 양면 인쇄가 가능합니다. 내가 사용 시도
// initiaise
MemoryStream pdfStreamOut = new MemoryStream();
Document document = null;
MemoryStream pdfStreamIn = null;
PdfReader reader = null;
int numPages = 0;
PdfWriter writer = null;
for int(i = 0;i < letterList.Count; i++)
{
byte[] myLetterData = ...;
pdfStreamIn = new MemoryStream(myLetterData);
reader = new PdfReader(pdfStreamIn);
numPages = reader.NumberOfPages;
// open the streams to use for the iteration
if (i == 0)
{
document = new Document(reader.GetPageSizeWithRotation(1));
writer = PdfWriter.GetInstance(document, pdfStreamOut);
document.Open();
}
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
int importedPageNumber = 0;
while (importedPageNumber < numPages)
{
importedPageNumber++;
document.SetPageSize(reader.GetPageSizeWithRotation(importedPageNumber));
document.NewPage();
page = writer.GetImportedPage(reader, importedPageNumber);
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
:
document.SetPageSize(reader.GetPageSizeWithRotation(1));
document.NewPage();
홀수에 대한 루프의 끝에 여기
는 모든 문자를 병합 내가 지금 가지고있는 기본적인 코드입니다 성공하지 못한 페이지의 수.
테이블을 추가해도 작동하지 않습니다. 어쩌면 ITextSharp의 최신 버전 때문일 수 있습니다. 'Add (new Chunk());는 나를 위해 일했다. – Crispy
업데이트 해 주셔서 감사합니다. :) – Russell
최신 버전에서는 테이블 대신'Chunk'를 추가해야한다는 것을 확인할 수 있습니다. 완벽하게 일했습니다! –