Rotación de PDF 90 grados usando iTextSharp en C#

 C Programming >> Programación C >  >> Tags >> PDF
Rotación de PDF 90 grados usando iTextSharp en C#

El ejemplo Rotate90Degrees usa PdfReader para obtener una instancia del documento, luego cambia el /Rotate valor en cada diccionario de página. Si no existe tal entrada, un /Rotate entrada con valor 90 se agrega:

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

Una vez hecho esto, usamos un PdfStamper para persistir el cambio:

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

Esto es para iText Java. Para iTextSharp, migrar Java a C# es fácil ya que la terminología es idéntica. Cambia algunas minúsculas a mayúsculas así:

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

Hay un fragmento de código más o menos idéntico en la parte de la pregunta de esta publicación:¿Cómo rotar una página PDF con iTextSharp sin causar un error en ghostscript?