Saltar al contenido

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

Te sugerimos que revises esta respuesta en un ambiente controlado antes de pasarlo a producción, saludos.

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 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, utilizamos 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?

Si crees que te ha sido de utilidad nuestro artículo, sería de mucha ayuda si lo compartieras con el resto desarrolladores y nos ayudes a difundir nuestro contenido.

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


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

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