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

avec Java Discussion :

Integrer Adobe Reader a une fenetre Java, avec Qt


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut Integrer Adobe Reader a une fenetre Java, avec Qt
    Bonjour à tous,
    Je dois réaliser une appli en java qui lit les PDF. J'utilise le framework Qt Jambi. J'arrive sans soucis a faire mon interface avec Qt, j'arrive aussi a ouvrir Adobe Reader a partir de mon appli java, mais je n'arrive pas a lier les deux (mettre adobe reader dans ma fenetre Qt, comme un widget).

    Voila mon code, minimaliste:
    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
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import com.trolltech.qt.gui.*;
    import com.adobe.acrobat.Viewer;
    import com.adobe.acrobat.ViewerCommand;
     
    public class Exerciser extends QWidget
    {
        private TextArea log;
    	 private Viewer acrobat;
     
        public Exerciser() 
        {
    		try 
    		{
    			acrobat = new Viewer();
    		} 
    		catch (Exception x) 
    		{
    		    log.append("Unable to create viewer \n");
    		}
    		QPushButton button1 = new QPushButton("One");
          QGridLayout monLayout = new QGridLayout();
       	monLayout.addWidget(acrobat);
    	   monLayout.addWidget(button1);
    	   setLayout(monLayout);
        }
     
     
        public static void main(String args[]) 
        {
                QApplication.initialize(args);
     
                Exerciser widget = new Exerciser();
                widget.show();
     
                QApplication.exec();
        }
    }
    Le problème vient bien sur de la ligne "monLayout.addWidget(acrobat);
    "
    Je sais bien que c'est pas .addWidget, mais j'ai beau cherché, je vois pas quel methode mettre.

    Si quelqu'un à une idée, je suis preneur.
    Merci d'avance !

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Je ne connais pas l'API acrobat que tu utilises. D'où vient-elle ?
    De quelle classe hérite com.adobe.acrobat.Viewer ?

    Il y a de forte chances que ce soit un composant awt ou swing et non Qt.

  3. #3
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    J'ai suivi ce tuto:

    http://today.java.net/pub/a/today/20...-javabean.html

    J'ai télécharger leur package et j'ai mis le .jar en classpath, c'est de là que viens le com.adobe.acrobat.Viewer.

  4. #4
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Ca confirme ce que je pensais: il s'agit d'un composant awt: le type de composant qu'utilise l'API java standard.
    Je ne connais pas trop Qt Jambi , mais je suppose qu'il ne peut employer que des composants conçus pour lui. Il faudrait voir si Jambi propose une fonctionnalité pour intégrer des composants awt.

  5. #5
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Je vais regarder de ce coté là.
    Merci Uther

    Et au passage je viens de tomber sur ça: http://java.developpez.com/outils/api/
    Avec jPDFViewer y'a ptete moyen d'arriver au résultat escompter. Je vais voir ça.

  6. #6
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Tu aura le même problème avec jPDFViewer. Il s'agit d'un composant swing(composant avancé de l'API java) que tu ne pourras pas utiliser directement dans une application Jambi.

    Il faudrait que tu faces ton interface graphique en awt/swing et pas en Qt Jambi pour pouvoir utiliser ces bibliothèques.

  7. #7
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Mhokey, donc en gros comme ma priorité dans mon appli c'est l'intégration d'un lecteur pdf, va falloir laisser tomber Qt...
    Dommage
    Mais merci Uther en tout cas.

    Edit: j'ai bien l'impression qu'il existe uen library PDF faites pour Qt: http://poppler.freedesktop.org/

  8. #8
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Je suis quand même curieux de savoir pour quelle raison tu utilises Qt Jambi.

    Autant je trouve Qt génial en C++ ou la bibliothèque standard, est assez pauvre, autant en Java j'ai du mal a voir son intérêt.

  9. #9
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    J'avais vu 2/3 "fantaisie" graphique sous Qt qui me plaisait.
    Donc pour conclure, si j'oublie Qt Jambi, jpourrais faire de l'intégration de pdf sans trop de soucis, et faire mon interface graphique avec awt ?

  10. #10
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Oui mais je te conseille plutôt de te tourner vers Swing. Awt étant plutôt pauvre.

  11. #11
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Ok ok.
    Et par hasard, personne n'aurait un nom de librairie pour java permettant d'integrer une visionneuse PDF au seins même d'un appli ?
    Dans tout ce que j'ai trouvé, c'est soit un lecteur de PDF tout seul (qui ne s'intègre pas dans l'appli), ou un lib qui permet de creer des pdf, mais rien pour lire le PDF dans mon appli

  12. #12
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    C'est bien ce que fait le jPDFViewer dont tu parlais non?

  13. #13
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    En gros dans ce que j'ai trouvé:
    -La librairie d'adobe, mais elle ne fait qu'ouvrir Adobe Viewer a coté de l'appli, et qui plus est dès que le PDF est un peu trop volumineux il ne l'affiche pas
    -iText, mais qui ne fait que de la création de PDF
    -JPedal et jPDFViewer, mais ils sont payant, et j'ai l'impression que ce sont juste des logiciel permettant de voir des PDF, et non pas d'integrer un lecteur PDF dans une appli.

    Mais au pire, y'a pas un moyen en Java d'intégrer un logiciel dans la fenetre de l'appli?
    En gros, avoir la fenetre de l'appli, avec tous les composants qu'on a mis (bouton, label, zone de texte etc etc.) et dans une partie (sur la même fenetre) un encadré avec une appli tier ? Du genre Adobe Reader dans mon cas. Sachant que j'arrive déjà à appeler le logiciel (sans pour autant l'intégrer dans mon interface), avec JDIC

    (en gros, faire un truc comme ça: http://www.yopdf.com/java-interface-...ng-pdf.html#a1 , mais en java quoi )

    En tout cas, merci de te pencher sur mon cas Uther

  14. #14
    Invité
    Invité(e)
    Par défaut
    Salut,

    en cherchant "pdf viewer java" je tombe là dessus : https://pdf-renderer.dev.java.net/
    Tu as regardé ? je pense que c'est ce que tu veux : intégrable, open source, java

    A plus

    EDIT : la euxième réponse étant aussi http://www.icepdf.org/ qui semble avoir les mêmes caractéristiques...

  15. #15
    Membre du Club Avatar de Freeluvs
    Profil pro
    Inscrit en
    Février 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Salut George7,

    J'avais eu pas mal d'erreur de compil avec PDFRenderer, mais après quelques modif ça à l'air de marcher.
    J'arrive a afficher mon PDF dans mon appli sans avoir aucun lecteur PDF d'installé en local.
    Reste a voir si j'arrive a manipuler le PDF correctement (changement de page, impression ..) mais j'ai regardé vite fait, y'a des methode pré-ecrite pour ça dans le package.

    Je vous tiens au courant, mais merci en tout cas !

    Edit: Bon bah, avec PDFRenderer j'arrive a afficher mon PDF, changer de page, imprimer un truc plutot correct.
    Merci

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

Discussions similaires

  1. [Swing] fermer une fenetre enfant avec un bouton.
    Par TheSeb dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/11/2013, 12h42
  2. Récupérer le hwnd d'une fenetre lancé avec shellexecute sans les API?
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 06/09/2006, 19h48
  3. Réponses: 11
    Dernier message: 03/05/2006, 01h24
  4. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  5. [Plugin][Débutant] Lancement d'une appli Java avec un plugin
    Par antares24 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 29/07/2004, 14h18

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