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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nun war ich fast da. Das Dokument wird nicht mit der eigentlichen Erstellung der Seite, bis Sie etwas auf, also sobald ich Hinzugefügt eine leere Tabelle, bam! Es hat geklappt!
Hier ist der code, fügen Sie eine leere Seite, wenn das Dokument, das ich bin die Zusammenlegung hat eine ungerade Anzahl Seiten:
Wenn das nicht funktioniert in den neueren Versionen, versuchen Sie dies statt:
InformationsquelleAutor der Antwort Russell
Eine weitere alternative, die problemlos funktioniert.
InformationsquelleAutor der Antwort Vagner