PDF um 90 Grad drehen mit iTextSharp in C#

 C Programming >> C-Programmierung >  >> Tags >> PDF
PDF um 90 Grad drehen mit iTextSharp in C#

Das Rotate90Degrees-Beispiel verwendet PdfReader Um eine Instanz des Dokuments zu erhalten, ändert sich dann /Rotate Wert in jedem Seitenwörterbuch. Wenn es keinen solchen Eintrag gibt, ein /Rotate Eintrag mit dem Wert 90 wird hinzugefügt:

final PdfReader reader = new PdfReader(source);
final int pagesCount = reader.getNumberOfPages();

for (int n = 1; n <= pagesCount; n++) {
    final PdfDictionary page = reader.getPageN(n);
    final PdfNumber rotate = page.getAsNumber(PdfName.ROTATE);
    final int rotation =
            rotate == null ? 90 : (rotate.intValue() + 90) % 360;

    page.put(PdfName.ROTATE, new PdfNumber(rotation));
}

Sobald dies erledigt ist, verwenden wir einen PdfStamper um die Änderung beizubehalten:

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
reader.close();

Dies ist für iText Java. Für iTextSharp ist die Portierung von Java nach C# einfach, da die Terminologie identisch ist. Ändern Sie einige Kleinbuchstaben wie folgt in Großbuchstaben:

PdfDictionary page = reader.GetPageN(1);
page.Put(PdfName.ROTATE, new PdfNumber(90));

Es gibt ein mehr oder weniger identisches Code-Snippet im Fragenteil dieses Beitrags:Wie dreht man eine PDF-Seite mit iTextSharp, ohne einen Fehler in Ghostscript zu verursachen?