iTextSharp comment faire pivoter / changer de page de paysage en portrait

Je suis en utilisant iTextSharp de fusionner plusieurs fichiers PDF en un seul fichier Pdf. J'ai trouvé un exemple de code ou deux sur le web à la façon d'accomplir cette tâche.

Ils travaillent tous, ne semble pas avoir de problèmes, comme je suis capable de fusionner plusieurs fichiers PDF en un seul fichier PDF.

Le problème que j'ai c'est que j'aimerais que toutes les pages en mode PORTRAIT, comme certains fichiers PDF ont des pages en PAYSAGE et je voudrais pour eux d'être tourné vers le PORTRAIT. Je n'ai pas l'esprit que ils vont être à l'envers ou de côté, mais ils doivent tous être dans le portrait.

En regardant les sections de code dans les exemples ci:

page = writer.GetImportedPage(reader, i);
rotation = reader.GetPageRotation(i);

renvoie toujours la rotation de la page la valeur 0 (zéro) ainsi, la section de code

if (rotation == 90 rotation == 270)
{
    cb.AddTemplate(page, 0, -1f, 1f, 0, 0, 
                         reader.GetPageSizeWithRotation(i).Height);
}

n'est jamais exécuté (si c'est ce qui est censé faire, en tournant la page).

Donc, basé sur le code dans le lien de la 1ère exemple de code page = writer.GetImportedPage(reader, i) comment m'y prendre pour modifier la mise en page de la page de Paysage à Portrait, avant que je l'ajouter à la nouvelle fusionné document PDF avec cb.AddTemplate...?

PS. Déterminer si une page est soit en mode paysage ou portrait-je utiliser le morceau suivant de code obtenu à partir de (adapté de l'exemple de code ci-dessus):

float pageXYRatio = page.Width / page.Height;
if (XYRatio > 1f)
{
    //page is landscape
}
else
{
    //page is portrait
}

Toute aide serait appréciée.

Grâce

source d'informationauteur Riaan