 |
Publicité
|
L'édition de texte, le changement de police, de couleur ou taille, la création de graphique, toutes ces fonctions sont facile à comprendre si l'on ne s'occupe pas de la compression.
Sachant cela, pourquoi ne pas créer des fichiers pdf (Adobe Portable Document Format) à la volée en changeant uniquement le "Content-type: text/html" en "Content-type: application/pdf".
Malheureusement, le test effectué avec un cgi en visual basic n'a pas été concluant. Le navigateur propose le téléchargement du fichier, dans le meilleur des cas, ou affiche le contenu du fichier (pas facile à lire !).
Le problème réside dans l'extension du fichier. Si vous utiliser un cgi vb, votre fichier porte l'extension ".exe", il ne sera pas interpr;té comme un fichier pdf, si vous trichez pour le renommer ".pdf" il ne sera pas exécuté.
Il reste une solution, créer un fichier pdf temporaire sur votre disque dans une zone accessible et rediriger l'utilisateur vers ce fichier.
Dans cette hypothèse, il n'est donc plus nécessaire de recréer tout le code du fichier pdf, plusieurs outils sont disponibles gratuitement et permettent de créer des fichiers pdf et en plus compressés.
Je vous propose deux possibilités:
1.) Utilisation du logiciel HTMLDoc.
Ce logiciel permet la conversion d'un fichier au format html en fichier au format pdf ou ps (PostScript).
Il vous suffit de créer un fichier HTML comprenant les tags courant (titre, tableaux, font ...) et de l'enregistrer ce fichier sur votre disque :
- en vb
Dim U As Long
Dim Tampon As String
Tampon = "<HTML><HEAD><TITLE>Mon fichier pdf</TITLE>" & vbCrLf & _
"<META NAME=""COPYRIGHT"" CONTENT=""Copyright 1999 Luc PETIT Ingénieur Conseil"">" & vbCrLf & _
"</HEAD><BODY>Mon contenu HTML...</BODY></HTML>" & vbCrLf
U = FreeFile
Open "C:chemin
om_du_fichier.html" For Output As #U
Print #U, Tampon
Close #U
- en perl pour Windows
Ensuite, convertissez le à l'aide du logiciel HTMLDoc:
- en vb
U = Shell("C:Chemin_HTMLDocHTMLDOChtmldoc -t pdf12 --size A4 --fontsize 10 --footer 1 --no-toc --pagemode document --webpage C:chemin
om_du_fichier.html -f C:chemin
om_du_fichier.pdf")
- en perl pour Windows
system "C:Chemin_HTMLDocHTMLDOChtmldoc -t pdf12 --size A4 --fontsize 10 --footer 1 --no-toc --pagemode document --webpage C:chemin
om_du_fichier.html -f C:chemin
om_du_fichier.pdf";
La ligne de commande est expliqué dans le fichier d'aide d'HTMLDoc
-t pdf12 : pour créer un fichier pdf 1.2 soit acrobat reader 3
--size A4 : format des pages A4
--fontsize 10 : taille par défaut 10
--footer 1 : pied de page avec numéro de page
...
Pour finir, redirigez votre visiteur
pour cela envoyer la page
<HTML>
<HEAD>
<TITLE>Mon Test</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/Chemin_virtuel/nom_du_fichier.pdf">
</HEAD>
<BODY>
</BODY>
</HTML>
Notons que cette méthode permet de donner le choix du type de sortie html ou pdf.
2.) Utilisation de la librairie pdflib.
Cette méthode évite de passer par un fichier html intermédiaire, mais vous oblige à travailler en coordonnées.
C'est à dire que vos tableau doivent être dessiné par votre programme trait par trait.
Les textes sont placés de la même manière.
Les différentes commandes sont détaillées dans la documentation.
Vous trouverez également des exemples d'utilisation ci-dessous.
Une fois votre fichier créé, faites également une redirection.
Attention: plusieurs utilisateurs peuvent demander votre script en même temps, n'oubliez pas de gérer des noms de fichier uniques.
Lire attentivement les licences d'utilisation.
Téléchargement:
HTMLDoc 1.8.1
Source C de HTMLDoc 1.8.1
Home page de HTMLDoc 1.8.1
PdfLib 2.01
exemple vb
exemple perl
Home page de PdfLib 2.01
zlib et source Mac Unix
|