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)