J’essaie d’utiliser un PDF pour l’estampage et je dois le faire pivoter de 90 degrés pour le poser correctement? Quelqu’un sait-il comment faire ça? Je n’arrive pas à le trouver en ligne.
L’exemple Rotate90Degrees utilise PdfReader
pour obtenir une instance du document, puis modifie la valeur /Rotate
dans chaque dictionnaire de page. Si aucune entrée de ce type n’existe, une entrée /Rotate
avec la valeur 90
est ajoutée:
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)); }
Une fois que cela est fait, nous utilisons un PdfStamper
pour conserver le changement:
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.close(); reader.close();
Ceci est pour iText Java. Pour iTextSharp, le portage de Java en C # est simple car la terminologie est identique. Changez quelques minuscules en majuscules comme ceci:
PdfDictionary page = reader.GetPageN(1); page.Put(PdfName.ROTATE, new PdfNumber(90));
Il y a un extrait de code plus ou moins identique dans la partie question de ce message: Comment faire pivoter une page PDF avec iTextSharp sans provoquer d'erreur en ghostscript?