Accessibilité
Ressources pour les développeurs

Table des matières

Impression de pages web au format FlashPaper ou PDF avec ColdFusion MX 7

Solution simple à utiliser

Les ingénieurs ColdFusion souhaitent bien entendu simplifier le travail des développeurs ColdFusion. C'est donc dans cet esprit que nous nous sommes mis au travail sur cette tâche. Que pouvions-nous créer pour permettre aux développeurs d'utiliser leur code HTML avec une seule balise ColdFusion qui entraînerait la conversion une fois la requête web invoquée par le navigateur ? La balise cfdocument est la réponse à cette question. Voici une vue générale de la syntaxe :

<cfdocument format="flashpaper/PDF">
<!—votre code HTML, CFML, et les balises cfdocumentitem->
</cfdocument>

C'est tout ! Pas de code XML, de configuration de classpath Java ou d'enregistrement de bibliothèques natives. Et certainement mieux, cette balise fait partie du moteur ColdFusion. Cette solution est disponible dès que ColdFusion est installé. Il n'est pas nécessaire de modifier les contenus HTML/CFML existants.

Nous avons également ajouté des attributs qui facilitent la manipulation de la mise en page des documents (tableau 1). Le seul élément obligatoire pour cette balise est l'attribut format, qui indique au moteur ColdFusion le type de fichier à produire (PDF ou FlashPaper) ; les autres attributs sont facultatifs.

Tableau 1. Attributs cfdocument
Attributs Requis Facultatif Fonctionnalité
Format oui non Indique le format à produire (PDF ou FlashPaper)
MarginTop non oui Valeur par défaut de 0,5 pouces (l'attribut « Unit » change l'unité)
MarginBottom non oui Valeur par défaut de 0,5 pouces (l'attribut « Unit » change l'unité)
MarginLeft non oui Valeur par défaut de 0,5 pouces (l'attribut « Unit » change l'unité)
MarginRight non oui Valeur par défaut de 0,5 pouces (l'attribut « Unit » change l'unité)
BackgroundVisible non oui Permet l'apparition de la couleur ou des images d'arrière-plan (la désactivation de cet attribut accélère le traitement et réduit la quantité de mémoire utilisée)
Orientation non oui Paysage ou portrait
PageType non oui Format Lettre US, Légal US, A4, A5, B4, B5, B4-JIS, B5-JIS, ou personnalisé
PageWidth non oui Largeur de la page lorsque le type de page sélectionné est personnalisé
PageHeight non oui Hauteur de la page lorsque le type de page sélectionné est personnalisé
Encryption non oui 128 bits, 40 bits ou aucun (fonction PDF uniquement)
OwnerPassword non oui Mot de passe (propriétaire) du document lorsque le chiffrement est activé
UserPassword non oui Mot de passe (utilisateur) du document lorsque le chiffrement est activé
Permissions non oui Types de permissions
Unit non oui Pouces ou centimètres
FontEmbed non oui Intégration des polices dans le document
Filename non oui Emplacement d'enregistrement du fichier
Overwrite non oui Ecrasement du fichier s'il existe déjà
Name non oui Enregistrement des contenus dans une variable CF
Scale non oui Facteur de zoom du document

La balise cfdocument devait également être robuste et conforme aux standards. Notre principale priorité était de prendre en charge le format HTML 4.01. En effet, la plupart des utilisateurs de ColdFusion utilisent le standard HTML 4.01. Deuxièmement, les versions CSS 1 et 2 étaient obligatoires étant donné que les feuilles de styles sont une partie intégrante du format HTML.

Les autres tâches étaient de fournir la prise en charge des graphiques, des liens HTML, de la sécurité et de l'accessibilité de façon à obtenir des documents fonctionnant de façon semblable au contenu affiché dans le navigateur. De plus, la prise en charge des polices spécifiées dans les contenus HTML a obligé l'équipe à faire en sorte que la balise cfdocument fonctionne avec le gestionnaire des polices de ColdFusion, qui recherche les polices nécessaires sur le système. Nous avons également pris des fonctions spécifiques au format PDF et fourni la prise en charge des langages bidirectionnels (comme l'arabe et l'hébreu) pour les documents PDF.