Saltar al contenido

Rotar PDF 90 grados usando iTextSharp en C #

Solución:

El ejemplo de 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 está agregado:

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. Cambie algunas minúsculas a mayúsculas como esta:

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?

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *