IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Rotation PDF iText


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Points : 42
    Points
    42
    Par défaut Rotation PDF iText
    Bonjour,
    Je cherche a changer la rotation d'une page d'un pdf puis rafraichir l'affichage de ce pdf.
    en cherchant sur les tutos d'itext j'ai trouvé mon bonheur.
    Seulement j'ai un soucis une fois le pdf modifié, il reste ouvert et pas moyen de le fermer. je ne peux le supprimer ou le renommer.

    voici le code que j'utilise (inspiré de ce que j'ai trouvé la : http://itextpdf.com/examples/iia.php?id=232):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
        public void manipulatePdf(String src, String dest, int angle, int page) throws IOException, DocumentException {
            PdfReader reader = new PdfReader(src);
            int n = reader.getNumberOfPages();
            int rot;
            if (page<n){ 
            PdfDictionary pageDict;
                rot = reader.getPageRotation(page);
                pageDict = reader.getPageN(page);
                pageDict.put(PdfName.ROTATE, new PdfNumber(rot + angle));
     
                PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
                stamper.close();
            }
            reader.close();
        }
    Si quelqu'un a une idée sur la façon fermer l'instance sur le fichier créé ce serait merveilleux.

    merci beaucoup.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    
    FileOutputStream fos = new FileOutputStream(dest);
    PdfStamper stamper = new PdfStamper(reader, fos);
    ...
    fos.close();
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Points : 42
    Points
    42
    Par défaut
    Merci beaucoup.
    J'y avais pensé, mais cela ne change rien.

    Du coup es-ce itextpdf qui serait buggé?

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    C'est possible, je viens de tester ton code (adapté) et ça fonctionne...
    J'utilise la version 2.1.7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    PdfReader reader = null;
    FileOutputStream fos = null;
    try
    {
        reader = new PdfReader("c:/Temp/References.pdf");
        fos = new FileOutputStream("c:/Temp/References2.pdf");
     
        int n = reader.getNumberOfPages();
        int rot = 0;
        int page = 1;
        int angle = 90;
        if (page <= n)
        {
            PdfDictionary pageDict;
            rot = reader.getPageRotation(page);
            pageDict = reader.getPageN(page);
            pageDict.put(PdfName.ROTATE, new PdfNumber(rot + angle));
     
            PdfStamper stamper = new PdfStamper(reader, fos);
            stamper.close();
        }
     
    }
    catch (Exception e)
    {
        System.out.println(e.toString());
    }
    finally
    {
        try {reader.close();} catch (Exception e) {};
        try {fos.close();} catch (Exception e) {};
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Points : 42
    Points
    42
    Par défaut
    Merci,

    j'ai toujours le message (L'opération demandée n'a pu s'accomplir sur un fichier ayant une section mappée utilisateur ouverte.)
    du coup il se peut que mon problème de fichier non clos soit du à l’affichage des des PDF, car lorsque j'ai affiché un document, même lorsqu’il n'est plus affiché
    je ne peux pas supprimer ce pdf à la main.
    je vais chercher par la.

    Merci encore.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/03/2007, 17h06
  2. Problème Weblogic et génération fichier PDF (Itext)
    Par hicham300 dans le forum Weblogic
    Réponses: 1
    Dernier message: 15/01/2007, 18h10
  3. [PDF - itext] Ne pas allez a ligne apres add
    Par toflofr dans le forum Documents
    Réponses: 1
    Dernier message: 15/05/2006, 10h26
  4. [Pdf][itext] Données d'un pdf existant
    Par Sfeabg dans le forum Documents
    Réponses: 4
    Dernier message: 27/02/2006, 14h39
  5. [PDF]iText et Java
    Par chesteric31 dans le forum Documents
    Réponses: 5
    Dernier message: 03/05/2005, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo