Estoy usando iTextSharp para unir varios archivos PDF en un solo Pdf. Encontré un code sample o two en la web sobre cómo lograr esta tarea.iTextSharp cómo rotar/cambiar página de paisaje a retrato
Todos funcionan, sin problemas aparentes, ya que puedo fusionar varios archivos PDF en un único PDF.
El problema que tengo es que me gustaría que todas las páginas estén en PORTRAIT, ya que algunos de los archivos PDF tienen páginas en LANDSCAPE y me gustaría que se roten a RETRATO. No me importa que estén al revés o de lado, pero todos deben estar en retrato.
En cuanto a las secciones de código en los ejemplos que figuran:
page = writer.GetImportedPage(reader, i);
rotation = reader.GetPageRotation(i);
siempre devuelve el valor de la página de rotación como 0 (cero) por lo tanto la sección de código
if (rotation == 90 rotation == 270)
{
cb.AddTemplate(page, 0, -1f, 1f, 0, 0,
reader.GetPageSizeWithRotation(i).Height);
}
Nunca
es ejecutado (si eso es qué se supone que debe hacer, rotando la página).
Por lo tanto, basado en el código en el enlace de la primera muestra de código page = writer.GetImportedPage(reader, i)
cómo hago para cambiar el diseño de página de la page
de horizontal a vertical, antes de agregar que el nuevo documento PDF combinado con cb.AddTemplate...
?
PS. La determinación de si una página es horizontal o vertical utilizo el siguiente fragmento de code obtenido a partir de SO (adaptada para el ejemplo de código anterior):
float pageXYRatio = page.Width/page.Height;
if (XYRatio > 1f)
{
//page is landscape
}
else
{
//page is portrait
}
Cualquier ayuda sería apreciada.
Gracias
Gracias. Funciona de maravilla. – Riaan