Tôi đang cố gắng làm điều gì đó tôi nghĩ sẽ khá đơn giản, tuy nhiên nó không phải là quá thẳng về phía trước và google đã không giúp đỡ.Làm cách nào để thêm trang trắng vào pdf bằng iTextSharp?
Tôi đang sử dụng iTextSharp để hợp nhất các tài liệu PDF (chữ cái) với nhau để chúng có thể được in cùng một lúc. Nếu một chữ cái có số trang lẻ tôi cần phải thêm một trang trống, vì vậy chúng tôi có thể in các chữ cái hai mặt.
Đây là mã cơ bản tôi có vào lúc này cho việc sáp nhập tất cả các chữ cái:
// 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);
}
}
Tôi đã cố gắng sử dụng:
document.SetPageSize(reader.GetPageSizeWithRotation(1));
document.NewPage();
ở phần cuối của vòng lặp for cho một số lẻ số trang không thành công.
Thêm bảng không hoạt động đối với tôi. Có thể do phiên bản mới hơn của ITextSharp. 'Add (new Chunk());' làm việc cho tôi. – Crispy
Cảm ơn bạn đã cập nhật - cách đây khá lâu. :) – Russell
Tôi có thể xác nhận rằng đối với phiên bản mới hơn, bạn nên thêm 'Chunk' thay vì một bảng. Làm việc hoàn hảo! –