Gewusst wie: hinzufügen einer leeren Seite eine pdf mit iTextSharp?

Ich versuche, etwas zu tun, dachte ich, wäre ganz einfach, jedoch ist es nicht so geradlinig und google hat auch nicht geholfen.

Verwende ich iTextSharp, Zusammenführen von PDF-Dokumenten (Briefe) zusammen, so können Sie alle gedruckt werden, auf einmal. Wenn ein Brief hat eine ungerade Anzahl von Seiten muss ich anfügen einer leeren Seite, so können wir die Buchstaben doppelseitig.

Hier ist der basic-code habe ich im moment für die Zusammenführung aller von den Buchstaben:

//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);
    }
}

Ich habe versucht mit:

    document.SetPageSize(reader.GetPageSizeWithRotation(1));
    document.NewPage();

am Ende der for-Schleife für eine ungerade Anzahl von Seiten, ohne Erfolg.

InformationsquelleAutor der Frage Russell | 2010-03-24

Schreibe einen Kommentar