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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Afficher un PDF dans une application QML
En utilisant la visionneuse par défaut de pdf.js, un billet de Jiyuu

Le , par Jiyuu

0PARTAGES

à tous,

Il existe plusieurs méthodes permettant d'afficher un PDF dans une application Qt, donc de facto dans une application QML.
Nous allons voir dans ce billet comment faire ceci pour un projet QML en utilisant pdf.js avec notamment la visionneuse par défaut que cet outil propose (vous pouvez d'ores et déjà télécharger l'archive fournie)

La solution que nous allons voir ici est relativement simple : pdf.js permet d'afficher un fichier PDF dans un navigateur. Il est possible de créer son propre navigateur avec QML et en particulier avec WebEngineView. Nous allons tout simplement utiliser celui-ci afin d'obtenir le résultat attendu.

Tout d'abord le code QML permettant de disposer d'un navigateur web :
Code qml : Sélectionner tout
1
2
3
4
5
6
7
8
import QtQuick 2.5 
import QtWebEngine 1.0 
  
WebEngineView { 
    width: 800 
    height: 600 
    url: "http://www.developpez.net/forums/blogs/135545-jiyuu/" 
}

Rien de très compliqué (normal c'est du QML )

Étant donné que nous allons devoir utiliser la visionneuse de pdf.js afin d'afficher un pdf je vous propose la modification suivante du code précédent :
Code qml : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import QtQuick 2.5 
import QtWebEngine 1.0 
  
WebEngineView { 
    id: webview 
    property string viewer    // chemin absolu pointant vers notre fichier viewer.html dernièrement téléchargé. 
    property string pathPdf  // chemin absolu pointant vers le document pdf à afficher. 
  
    // le code ci-dessous permettra d'afficher une page blanche si au moins l'un des deux chemins n'est pas renseigné 
   url: if (viewer && pathPdf) 
         { 
             viewer + "?file=" + pathPdf 
         } 
}

Il ne vous reste plus qu'à utiliser ce composant dans votre projet afin d'y afficher le PDF voulu.

Une erreur dans cette actualité ? Signalez-nous-la !