Rotazione del PDF di 90 gradi utilizzando iTextSharp in C#

 C Programming >> Programmazione C >  >> Tags >> PDF
Rotazione del PDF di 90 gradi utilizzando iTextSharp in C#

L'esempio Rotate90Degrees utilizza PdfReader per ottenere un'istanza del documento, cambia il /Rotate valore in ogni pagina del dizionario. Se non è presente tale voce, un /Rotate voce con valore 90 viene aggiunto:

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

Fatto ciò, utilizziamo un PdfStamper per mantenere la modifica:

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

Questo è per iText Java. Per iTextSharp, il porting di Java in C# è semplice poiché la terminologia è identica. Cambia alcune lettere minuscole in maiuscole in questo modo:

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

C'è uno snippet di codice più o meno identico nella parte della domanda di questo post:come ruotare la pagina PDF con iTextSharp senza causare errori in ghostscript?