mardi 14 avril 2015

Affichage / Impression / PDF avec XML : bonnes pratiques

Dans un logiciel, vous avez au moins un traitement qui affiche, imprime ou génére un fichier PDF.

Comment associer judicieusement les technologies XML avec les traitements pré-cités ?

Considérons d'abord un affichage de données.

Dans la façon traditionnelle, vous lisez et affichez vos données en écrivant du code - en utilisant un langage de développement en particulier.

C'est bien mais nous pouvons rendre le traitement plus souple et plus dynamique.

Votre langage de développement intégre un moteur HTML : utilisez - le !

"Découplez" les données, de l'affichage.

Vos données peuvent être ainsi regroupées dans un fichier XML (avec un fichier XSD associé) et votre affichage dans un fichier XSL (template).

Votre traitement va donc consister à associer les données lues (XML) au template (XSL) et à générer (XSLT) une page HTML prête à être affichée  !

Le principal avantage : votre traitement ne subit aucunes modifications - vous modifiez uniquement vos données et/ou votre template.

Considérons le traitement d'impression.

Il est possible de définir un fichier CSS pour l'impression d'un document, tout comme nous pouvons définir un fichier CSS pour l'affichage d'un document.

Mais cette pratique est très vite limitée - exemple : la gestion multi - page d'un document.

Hors rares sont les documents qui ne sont pas multi - pages.

Un fichier CSS, comme tout fichier Web, est lié à un navigateur Web. "L'interprétation" de certaines fonctionnalités HTML varie d'un navigateur à un autre.

Nous déconseillons donc cette approche.

L'astuce consiste d'abord à générer un fichier PDF et ensuite d'imprimer ce fichier.

Nous verrons dans la partie suivante comment générer ce fichier PDF.

Votre traitement va consister :

  • à afficher une boite de dialogue permettant de choisir l'imprimante et de renseigner quelques informations pour l'impression
  • de lancer la tâche d'impression de votre document généré

Le traitement pour générer un fichier PDF.

De nombreuses API existent pour générer un fichier PDF.

L'utilisation de la technologie XSL:FO va permettre une plus grande souplesse.

Cette technologie comme son nom l'indique est une technologie très proche de la technologie XSL mais elle est plus adaptée à la génération de documents (dont le PDF).

Même si elles se rapprochent, ces technologies restent néanmoins différentes et nécessitent un apprentissage distinct mais complémentaire.

Votre traitement va consister uniquement à "coupler" vos données avec votre template (XSL-FO) et à générer le document souhaité.


Que dire de ce bref tour d'horizon des technologies XML ?

Développons des solutions les plus "souples" possible en "découplant" au maximum les données des traitements.

Les technologies XML sont puissantes et offrent une potentiel souvent sous-estimé.

Nous y gagnerons dans la maintenabilité de notre logiciel.

Aucun commentaire:

Enregistrer un commentaire