à tous,

Dans un de mes projets je cherche à afficher dans un WebEngineView une page PDF. Parmi les trois solutions que j'ai trouvées actuellement, la plus aboutie (si j'arrive à la faire fonctionner correctement) est celle qui utilise le fichier viewer.html de pdf.js

En gros, j'ai mis en ressource tout ce que contient le dossier pdfjs (je ferai le tri nécessaire par la suite )

Il ne me reste plus qu'à utiliser mon WebEngineView ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
WebEngineView {
    anchors.fill: parent
    url: "qrc:/pdfjs/web/viewer.html"
}
Ce qui aura pour effet d'afficher le pdf de test dans mon WebEngineView. Nickel, enfin presque !!!

L'idée est de pouvoir charger dynamiquement des fichiers pdf (fiches techniques de machines dont les url locales sont stockées par l'utilisateur dans une BDD), et c'est là que ça coince. D'après la doc de pdf.js il suffirait de modifier l'url de mon webview ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
url: "qrc:/pdfjs/web/viewer.html?file=/chemin/vers/mon/pdf"
sauf que là, comme le pdf n'est pas dans les ressources il n'est pas trouvé.

J'ai fait le test avec le pdf de test (voir ci-dessus) : si je le supprime des ressources j'ai un message d'erreur dans le viewer de pdf.js et le pdf ne s'affiche pas. Je le redéclare dans mon qrc et ça refonctionne.

Auriez-vous une idée pour me sortir de cette situation, car moi je tourne en rond là

Info importante : le viewer de pdf.js permet d'aller chercher manuellement & localement un fichier : là ça fonctionne bien, mais ce n'est pas ce que je veux faire.

D'avance merci à tous.


J


PS : si vous avez une meilleure idée pour afficher un pdf ou si vous avez des conseils liés à mon premier topic (voir début de celui-ci) : n'hésitez surtout pas