Bonjour,
J'ai testé récemment le package lazreportpdfexport 0.6 (qui requiert d'ailleurs le pack_powerpdf 0.9.4). Cela produit tout à fait correctement des pdf à partir de lazreport. Lazreport qui m'a agréablement surpris, non pas par l'étendue de ses fonctions (c'est presque suffisant pour ce que je fais), mais par l'absence des bugs rédhibitoires que j'avais rencontrés, il y a quelques mois.
Une fois le pdf produit, le problème c'est de l'afficher avec Lazarus. Je n'ai rien "vu" d'évident. Dans un premier temps, j'ai tenté par un navigateur et notamment par les solutions proposées par la FAQ Lazarus [http://lazarus.developpez.com/faq/]. Cela fonctionne en codant une page HTML incorporant le fichier.pdf, page que l'on appelle ensuite.
Mais en y réfléchissant, ouvrir une page web pour visualiser du pdf... c'est très "indirect" puisque de toute façon il y a une visionneuse installée. Il serait préférable de savoir quel est l'exécutable associé au Mime Type ou à l'extension pour ouvrir le fichier.
Après réflexion, j'ai commencé un petit "composant perso". En réalité, vu mes toujours très médiocres connaissances à ce sujet [ Help toujours d'actualité : http://www.developpez.net/forums/d96...posant-dbgrid/], il est plutôt conçu comme une dll externe : on ne renie pas ses origines et même quand on essaie, le naturel revient au galop. L'avantage du composant ici est peut-être une mise en oeuvre plus facile que l'appel d'une fonction d'une librairie externe.
Bref, comme les utilisateurs de divers forums de developpez.net m'ont aidé (Linux, Windows, Free Pascal), j'estime que c'est un travail "collaboratif" et donc je mets le "composant" à disposition. Comme je n'ai toujours pas eu le courage d'ouvrir un blog sur developpez.net, je place cela sur mon ftp perso (anonymous) : http://www.selzig.com/lazarus dans le répertoire /viewfile.lpk. Il y a le composant et un petit prog. de test avec un sous-répertoire docs contenant bmp, png, html, php, odt et pdf.
Description
Objet : Ouvrir un fichier sélectionné avec l'application qui lui est associée par défaut.
OS supportés : Il ne fonctionne pour l'instant qu'en Windows et Linux. J'ai testé le résultat sous XP[32], Seven et avec Linux sous Ubuntu 10.04 [Gnome et KDE] et Debian Lenny [Gnome évidemment].
Sous Mac OS X, cela ressemble beaucoup à Linux. Le fichier mailcap est un peu différent. Mais comme je ne dispose pas de Mac, je n'ai pas intégré le code. Mais il est disponible...
Fonctionnement : En Windows, j'utilise classiquement le registre et les extensions. Pour Linux, c'est le fichier mailcap et les Mime Types.
RQ : Parti initialement avec le but d'ouvrir seulement des pdfs, j'ai élargi les possibilités (avec lancement de pages html, php... pour voir - la solution de la FAQ est bien plus simple) puis avec d'autres fichiers (images et odt). Je n'ai pas brider les extensions ni les Mime Type potentiellement "traitables", mais il faut contrôler évidemment sous peine de surprises désagréables.
Conclusion : je ne sais pas si ce code a un intérêt. Peut-être existe-t-il déjà ou y a-t-il une manière beaucoup plus simple de régler ce problème. Peu importe en réalité, en ce qui me concerne, cela a été très instructif et donc me satisfait simplement. Je le mets en diffusion (que sur ce site), au titre de réciprocité et en retour à l'aide apportée par ses utilisateurs.
Cordialement. Gilles
Partager