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

PyQt Python Discussion :

Afficher un fichier PDF dans un QWebView


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Par défaut Afficher un fichier PDF dans un QWebView
    Bonjour,

    J'ai pas mal "googleisé" mais je n'ai pas trouvé ma vie ...
    Avant que je ne choisisse une autre option, existe t-il une solution pour afficher le contenu d'un fichier pdf (un fichier existant et non généré par mon application) dans un QWebView ? (Ou dans un autre widget ...) ou éventuellement, insérer le lecteur pdf dans un autre widget afin de l'intégrer à mon application.
    J'utilise PySide/PyQt.
    Merci pour vos pistes ?
    @+

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'utilise un QWebView pour un navigateur html en PyQt4 qui, intégré à mes programmes PyQt4, affiche leurs notices (écrites en html avec Kompozer). Mais il permet aussi de naviguer sur le web. Je suis d'ailleurs surpris du résultat puisqu'on peut même visionner des vidéos sur youtube! Par contre, je ne sais pas ce que ça vaut au niveau sécurité, et je suis prudent sur ce plan.

    Je viens d'essayer de lui faire afficher un pdf et... ça marche! Ceci avec un pdf du web (j'ai essayé avec http://web.univ-pau.fr/~puiseux/ense...hon/python.pdf) et un pdf de mon disque dur. Dans les 2 cas, le pdf est bien affiché à l'intérieur de la fenêtre du QWebView. Avec le pdf du web, voir la copie d'écran.

    Nom : copie_ecran.jpg
Affichages : 1652
Taille : 95,7 Ko

    Mais comme je n'ai rien fait pour ça, je suppose que ce navigateur QWebView utilise un plugin d'adobe déjà présent sur mon OS (Windows). Ce qui fait que cette fonctionnalité dépendrait de la configuration de l'OS? Il est vrai que de nos jours, l'affichage des pdf est plutôt répandu sur nos machines. Et puis j'ai eu quelques plantages dans ces essais: il faudra que je regarde ça de plus près pour voir si des modifs de code sont nécessaires pour faciliter ce type d'affichage.

    Jusqu'à présent, quand j'ai un pdf à afficher, j'utilise plutôt la fonction suivante en PyQt4 qui passe la main au programme d'affichage par défaut de l'OS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def affichurl(url):
        """affiche url (chaine unicode) avec le programme par défaut de l'OS
           url peut être une adresse web ou un fichier sur disque
        """
        url = url.strip()  # élimination des espaces début et fin et fdl 
        if url != "":
            if os.path.exists(url):
                # ajoute "file:///" si nécessaire
                qurl = QtCore.QUrl.fromLocalFile(os.path.abspath(url))
            else:
                # ajoute "http://" si nécessaire
                qurl = QtCore.QUrl.fromUserInput(url)
            # appelle le programme par défaut pour affichage de l'url
            QtGui.QDesktopServices.openUrl(qurl)

  3. #3
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Par défaut
    Bonjour Tyrtamos,

    Merci pour ta réponse. Je suis content d'apprendre que la solution existe et qu'elle n'est certainement pas très compliquée à mettre en œuvre. Sais-tu si il y a un moyen de savoir quel plug-in to QWebView utilise ??? Pour ma part j'ai la version 11.0 (gratuite) de Adobe Reader.
    Concernant le lien que tu m'as transmis, je l'ai déjà exploité mais ça n'a rien donné.
    Je vais continuer à creuser dans ta direction.
    @+

Discussions similaires

  1. [QtGui] Afficher un fichier PDF dans une fenêtre
    Par Triton972 dans le forum PyQt
    Réponses: 14
    Dernier message: 13/09/2013, 07h37
  2. Afficher un fichier pdf dans un frame gwt depuis le serveur
    Par hamdi.kharrat dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 17/05/2012, 12h26
  3. afficher un fichier pdf dans le jeu
    Par khenissi dans le forum Moteurs 3D
    Réponses: 2
    Dernier message: 25/08/2010, 02h32
  4. Afficher un fichier PDF dans une Winform
    Par Hiraa dans le forum VB.NET
    Réponses: 1
    Dernier message: 11/01/2010, 21h47
  5. [VB.Net] afficher un fichier pdf dans une page WEB
    Par kasaw dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/08/2008, 16h02

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