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

 Java Discussion :

Insérer un PDF dans un JPanel


Sujet :

Java

  1. #1
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Insérer un PDF dans un JPanel
    bonjour à tous
    tout est dans le titre!
    après de multiples recherches, j'ai entendu parler de l'api iText et je souhaite afficher un pdf existant dans un jpanel
    Est ce possible?
    merci à tous ceux qui voudront bien m'aider

    PS; je débute

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    itext sert à générer et modifier des fichiers pdfs, pas a en faire du rendu.

  3. #3
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci de me répondre
    Comment faire alors si je veux afficher un pdf dans mon application
    Quel API utiliser

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 54

  5. #5
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci
    j'avais effectivement trouvé plusieurs de ces API mais aucune lib gratuite ne parlait d'affichage dans un jpanel

    J'ai quand meme a peu près reussi avec pdfrenderer pour l'integrer dans mon appli
    le pdf s'affiche dans mon jpanel, le defilement des pages aussi à l' aide de 2 jbutton
    mais certaines pages ne se dessinent pas entierement, si je reviens sur les pages d'avant puis sur la page qui pose pb cette fois ci ca marche parfaitement
    Je me demandait si le pb viendrait que l'image n'aurait pas le temps de se charger completement alors que le programme l'afficherait.
    Quelqu'un voitd'ou ca peut venir?

  6. #6
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Par défaut
    Pour ma part j'utilise icepdf qui fonctionne très bien et qui permet peut s'afficher dans un JPanel.
    C'est le seul "renderer" qui m'ai convaincu.

  7. #7
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    bonjour
    j ai jete un coup d oeil du cote de icepdf mais la lib n est pas gratuite
    peut etr que je me trompe

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    La version sans le moteur de font semble gratuite.
    Donc, tout dépendra de la construction des pdf que tu souhaites afficher.
    (textes vectorisés ? polices standard ou non ? ... ...)
    Ils fournissent des exemples sur le site avec lesquels tu peux désactiver ou non le moteur de font. Ca te donnera un aperçu des limitations de la version gratuite.

    Personnellement, j'utilise le logiciel par défaut du système pour faire ouvrir les .pdf.
    Après en effet, ce n'est donc pas intégré directement dans mon application, mais les besoins que j'avais ne le nécessitaient pas.

  9. #9
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    j'ai réussi à fixer mon pb avec pdf renderer grace à la methode waitforcurrentpage()

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
     
    import com.sun.pdfview.*;
    import java.io.*;
    import java.nio.channels.FileChannel;
    import java.nio.ByteBuffer;
    import java.util.logging.Level;
    import java.util.logging.Logger;
     
    public class PdfManager extends PagePanel
    {
        private File fichierPDF;
        private RandomAccessFile raf; private FileChannel channel;
        private PDFFile pdffile; private ByteBuffer buf; private PDFPage page;
        private int nbPagePdf = 1, numPagePdf = 1;
     
        public PdfManager(File fichierPdf, int numPagePdf)
        {
            super(); setBounds(835, 125, 355, 455);
            setFichierPdf(PathManager.setPathFile(0));
            setPagePdf(1);
        }
        public void setFichierPdf(File fichierPdf)
        {
            this.fichierPDF = fichierPdf;
            try
            {
                raf = new RandomAccessFile(fichierPDF,"r"); channel = raf.getChannel();
                buf = channel.map(FileChannel.MapMode.READ_ONLY,0, channel.size());
                nbPagePdf = (new PDFFile(buf)).getNumPages();
            }   catch (Exception e) {}
        }
        public void setPagePdf(int numPagePdf)
        {
            this.numPagePdf = numPagePdf;
            try     {   page = (new PDFFile(buf)).getPage(numPagePdf);  }
            catch (IOException ex) {}
            showPage(page); waitForCurrentPage();
        }
        public int getCurrentPagePdf()  {   return numPagePdf;  }
        public int getNbPagePdf()       {   return nbPagePdf;   }
    }
    Bien sur un autre pb apparait
    Sur certaines images pdf j'ai un message d'erreur qui apparait. Je pense que c'est lié à la construction de certains PDF en CMY lors de la conversion

    svp aidez moi je sèche completement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    sun.awt.image.ImageFormatException: Unsupported color conversion request
            at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
            at sun.awt.image.JPEGImageDecoder.produceImage(JPEGImageDecoder.java:119)
            at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
            at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
            at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)

  10. #10
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est un peu au delà de nos possibilités sur le coup. La seule chose que tu puisses faire est de déclarer un bug sur le tracker de pdfrenderer ou d'utiliser une autre librairie (IcePDF par exemple )

  11. #11
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Effectivement, il ss'agit peut etre de l'API qui ne gère pas ce type de document creer en CMY
    J'ai testé icePdf open source ou les documents en CMY s'affichent correctement mais il me génère d'autre erreur avec des documents un peu lourd
    Du coup, je reste tout de même sur PDFRenderer qui est plus satisfaisant à mon gout pour mon appli qui est destiné à gérer des documents scannés en PDF(donc en RGB)
    En tout cas merci à tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer un pdf dans word sans perdre en qualité
    Par leguigou dans le forum Word
    Réponses: 5
    Dernier message: 16/03/2010, 17h23
  2. Insérer un jTextFiel dans un jPanel
    Par RouRa22 dans le forum Composants
    Réponses: 2
    Dernier message: 30/04/2009, 12h06
  3. Insérer un pdf dans une page html
    Par Laeti.p dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 22/07/2008, 14h39
  4. insérer un dessin dans un JPanel
    Par julien1451 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/04/2008, 05h35
  5. Insérer fichier pdf dans LaTeX sous Windows
    Par kawel dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 07/09/2006, 17h33

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