
http://html2pdf.spipu.net/ http://sourceforge.net/projects/phphtml2pdf/ Exemple 0: HTML - PDF Exemple 1: HTML - PDF Exemple 2: HTML - PDF Exemple 3: HTML - PDF Exemple 4: HTML - PDF Exemple 5: HTML - PDF Exemple 6: HTML - PDF Exemple 7: HTML - PDF Exemple 8: HTML - PDF Exemple 9: Page Exemple 10: HTML - PDF Coucou à tous, j'ai mis à disposition il y a peu un convertisseur HTML vers PDF écrit en php4 et utilisant la librairie fpdf. pour l'instant, il ne gère pas encore tout ce qui est div, positions relatives et autre, mais ca viendra ! n'hésitez pas à me faire des remarques si vous voyez des bugs à corriger ! Ancien pseudo : lolo |
Cool ! Merci ! Est-ce que c'est compatible php5 ? <<< Kernel Extremist©®™ >>> <Vertyos> un poil plus mais elle suce bien quand même la mienne ^^ <Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appetissant <Conscience> Et que le plan soit faux ou non il reste vrai la preuve aujourd'hui. <Zephyr> tu veux que je te la tienne ? |
vi (normalement) car je l'utilise sur des serveurs en PHP4 comme en PHP5 Ancien pseudo : lolo |
nickel <<< Kernel Extremist©®™ >>> <Vertyos> un poil plus mais elle suce bien quand même la mienne ^^ <Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appetissant <Conscience> Et que le plan soit faux ou non il reste vrai la preuve aujourd'hui. <Zephyr> tu veux que je te la tienne ? |
Ton script m'intéresse beaucoup. M'autoriserai tu à l'utiliser dans le cadre de mon stage pour un intranet en interne? Je citerai ton nom comme il se doit dans mon rapport bien entendu. "KDE? Ya moins moche mais c'est plus stable." "Et un geek ça fait combien d'octets? Sûrement moins qu'une disquette." Chloé (c) 2007 Et vous, vous connaissez le Circuit-bending? |
bien sur ! je diffuse ce programme sous licence GPL, donc aucun problème Ancien pseudo : lolo |
OK parfait, je te remercie. Il s'intègrera nikel avec mon sujet de stage qui est aussi sous GPL! "KDE? Ya moins moche mais c'est plus stable." "Et un geek ça fait combien d'octets? Sûrement moins qu'une disquette." Chloé (c) 2007 Et vous, vous connaissez le Circuit-bending? |
avec pour principale modification une gestion (simplifiée pour l'instant) des feuilles de style CSS ! Ancien pseudo : lolo |
Excellente nouvelle, je compte intégrer l'export PDF dans mon site intranet la semaine qui vient. Je te tiendrai au courant du déroulement et de la mise en pratique de ta classe! "KDE? Ya moins moche mais c'est plus stable." "Et un geek ça fait combien d'octets? Sûrement moins qu'une disquette." Chloé (c) 2007 Et vous, vous connaissez le Circuit-bending? |
Hello Laurent, Je trouve ton script très intéressant... good job! Je suis entrain d'intégrer le script "Dacio´s Print-Pdf-Send-It!" (http://kopicaidej.underground.si/) pour obtenir une version imprimable de mes pages Web. Ce script permet aussi de recommander les pages Web entre internautes et de convertir la version imprimable des pages en PDF... mais cela nécessite le module PHP "pdflib" qui n'est pas chez mon hébergeur Web! Donc ton script est la solution idéale J'ai essayé d'intégrer ton script à celui de Dacio... mais cela ne fonctionne pas! Je ne te cacherai pas que je ne suis pas un expert en PHP, je suis débutant et j'essaye d'apprendre Mon objectif serait d'ajouter un bouton "Enregistrer au format PDF" dans la version imprimable de la page (générée par Dacio), afin d'offrir le choix aux internautes d'imprimer ou de sauvegarder la page Web en PDF. Il y aurait aussi la possibilité d'ajouter un bouton "Enregistrer au format PDF" sur la page Web initiale (non sa version imprimable), mais cela semble encore plus compliqué! Est-ce qu'un membre de ce forum aurait une idée de comment faire? Merci de votre aide, Chris Fichier joint : Dacio_print-pdf-send-it-v1.0.zip |
point tres important : mon script n'est pas fait pour convertir des sites web au format PDF, mais pour faciliter la création de documents PDF comme des factures ou des bon de commande par exemple. Il ne gère absolument pas la totalité des balises HTML et des propriétés CSS Ancien pseudo : lolo |
qu'est-ce que tu entends par gestion simplifiée des styles CSS ? (tu prends en charge quels attributs ?) |
pour l'instant pas grand chose : text-align, color, background-color, font-size, border, width, fon-weight, text-decoration, text-style, ... je sais plus trop, il faut regarder le fichier styleHTML.class.php ^^ Ancien pseudo : lolo |
ça prend les images ? |
oui : img, b, i, u, span, table, tr, td, th, font, ... et je sais plus quoi d'autre. il faut voir toutes les methodes "o_..." dans la classe html2pdf.Class.php. pour rajouter une balise, il suffit de creer les methodes "o_NOMBALISE" et "c_NOMBALISE" pour l'ouverture et la fermeture Regardez les exemples sur le site, ca sera plus simple Ancien pseudo : lolo |
j'avais zappé pas mal de bugs sur la gestion des priorités entre styles, c'est corrigé. Egalement, afin de mieux montrer les possibilités de la librairie, j'ai fait cet exemple : HTML - PDF Ancien pseudo : lolo |
|
Afin de répondre à certains mails que j'ai recu : VOS CODES HTML NE SONT PAS VALIDES !!!! Edité par Spipu le 27-05-2008 à 18:12:34.si votre code n'est pas valide, il ne pourra pas être converti... Exemple totale incorrect : <TABLE borderColor=#ccffff bgColor=#ccffff > - les noms des balises doivent être ecrites en minuscules (même si pour le coup html2pdf s'en fout, mais c'est quand meme pas valide pour le W3C) - les noms des propriétés : idem, en minuscule - les valeurs des propriétés : entre "" !!!!! bgcolor="#CCFFFF", c'est mieux ! - toute propriété qui peut être passée en style est dépassée (du style les bgcolor, width, et autres trucs du même genre) donc dans le cas présent, la bonne écriture serait : <table style="border: solid 1px #CCFFFF; background: #CCFFFF"> de meme, <TD borderColor=#ccffff bgColor=#ccffff><DIV align=center><STRONG>Heure</STRONG></DIV></TD> ne sert à rien, il faut ecrire <td style="border: solid 1px #CCFFFF; background: #CCFFFF; text-align: center; font-weight: bold">blablabla</td> en html, moins il y a de balises, plus la génération de la page par le navigateur est rapide. Il en est de même avec html2pdf ! enfi, dernier petit point, voici quelques balises, style, et propriétés qui ne sont pas encore programmées : div, p, em, strong, sup, sub, ul, ol, li position, left (et autres), background-image, border-left (et autres) colspan, rowspan à la place de <em>, vous pouvez utiliser <i>, ou la propriété css text-style:italic, mais la balise <em> sera bientot rajoutée à la place de <strong>, vous pouvez utiliser <b>, ou la propriété css font-weight:bold, mais la balise <strong> sera bientot rajoutée les balises sup, sub, ul, ol, li seront rajoutées sous peu les balises p et div ne sont pas encore implémentées, et ne le seront pas tout de suite, car je n'en ai pas encore eu besoin dans mes programmes. Mais généralement vous pouvez vous en passer, comme dans l'exemple ci-dessus. Ancien pseudo : lolo |
ajout des balises em, strong, correction de nombreux pb de mise en page, amélioration de la gestion des color et border, de l'incorporation des images dans du texte, ..., ... Ancien pseudo : lolo |
c'est dommage pour les div quand meme, mais bon j'imagine que c'est la misere à gérer ^^ |
Spipu (./17) : C'est faux. En XHTML, les balises doivent être en minuscules, mais en HTML c'est insensitif à la casse et la forme canonique est en toutes majuscules! - les noms des propriétés : idem, en minuscule Idem (sauf que la forme canonique est en minuscules pour les attributs, mais c'est quand-même insensitif à la casse!). - les valeurs des propriétés : entre "" !!!!! bgcolor="#CCFFFF", c'est mieux ! Dans ce cas, les guillemets sont obligatoires en HTML parce qu'il y a le signe '#', mais: In certain cases, authors may specify the value of an attribute without any quotation marks. The attribute value may only contain letters (a-z and A-Z), digits (0-9), hyphens (ASCII decimal 45), periods (ASCII decimal 46), underscores (ASCII decimal 95), and colons (ASCII decimal 58). We recommend using quotation marks even when it is possible to eliminate them. http://www.w3.org/TR/html401/intro/sgmltut.html - toute propriété qui peut être passée en style est dépassée (du style les bgcolor, width, et autres trucs du même genre) C'est valide quand-même! Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
Kevin Kofler (./20) : mais c'est pas une raison pour ne pas prendre de bonnes habitudes, et écrire une fois en minuscule, et une fois en majuscule (comme je le vois souvent) Kevin Kofler (./20) : => meme remarque Kevin Kofler (./20) : et idem ! de plus, sur ton lien, ils ouvrent des balises qu'ils ne ferment pas... bravo l'exemple ! c'est pas parce qu'on peut faire n'importe quoi qu'il faut forcement le faire, sous prétexte qu'avant on pouvait ! Je donne des directives pour pas avoir du code pourri, afin qu'il soit le plus compatible possible, et tu viens avec des remarques complètement inutile et hors sujet avec ma lib HTML2PDF, pour en plus donner de mauvaises habitudes aux codeurs débutant ! Donc si c'est pour du non constructif, merci de ne plus poster Ancien pseudo : lolo |
Spipu (./21) : Ça ne change pas que c'est valide, que ton accusation que c'est du code non valide est injustifiée et que ton convertisseur HTML2PDF a intérêt à gérer ça. ... We recommend using quotation marks even when it is possible to eliminate them. Recommend != require. de plus, sur ton lien, ils ouvrent des balises qu'ils ne ferment pas... bravo l'exemple ! Mon lien est une page de la spécification HTML 4.01 du W3C! Je te signale qu'il y a des balises en HTML qui n'ont pas besoin d'être fermées! Le fameux /> n'existe pas en HTML, les balises sans contenu n'ont pas besoin d'être fermées, par exemple <BR>. Et d'autres sont fermées automatiquement sous certaines conditions, par exemple <P> et <LI>, comme le dit le document: "Some HTML element types allow authors to omit end tags (e.g., the P and LI element types)." HTML != XHTML. Le HTML n'est pas du XML, c'est du SGML, beaucoup plus flexible. c'est pas parce qu'on peut faire n'importe quoi qu'il faut forcement le faire, sous prétexte qu'avant on pouvait ! Pas seulement "avant". Le HTML 4.01 est la version actuelle du standard HTML. HTML != XHTML, et le HTML 5 est toujours en développement. Je donne des directives pour pas avoir du code pourri, afin qu'il soit le plus compatible possible, et tu viens avec des remarques complètement inutile et hors sujet avec ma lib HTML2PDF Je ne vois pas en quoi c'est hors sujet. Tu nous ponds un convertisseur HTML2PDF sans comprendre le HTML ni les différences entre HTML et XHTML, et tu accuses incorrectement le code de ne pas être valide parce que tu n'as pas envie de le gérer. pour en plus donner de mauvaises habitudes aux codeurs débutant ! Non, pour montrer ton ignorance du standard HTML. Donc si c'est pour du non constructif, merci de ne plus poster C'est constructif, tu as intérêt à gérer ces syntaxes dans ton convertisseur HTML2PDF, parce qu'elles sont du HTML valide. Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
Spipu (./21) : dans ton exemple aussi je regardais comment tu faisais pour séparer les pages, et apparemment tu définis ton propre tag <page> mais tu le fermes que la deuxième fois (cela dit je trouve ça un peu crade, puisque tu parses l'attribut style tu pourrais peut-être mettre une propriété CSS genre "-spipu-page-orientation: landscape; -spipu-background-image: exemple7.png" et puis te contenter d'un div pour regrouper le tout, parce que là ça fait un peu bizarre d'un côté de déprécier les éléments/attributs traditionnels HTML en faveur de la propriété style, et de l'autre de rajouter tes éléments/attributs persos façon HTML old-school) (et Kevin a raison, tu devrais simplement dire que tu gères un sous-ensemble plus propre de HTML) « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |
Kevin Kofler (./22) : je ne dirais qu'un seul truc, si un mec qui apprend à faire des sites utilise tes conseils, le jour ou il voudra passer ses sites de l'HTML au XHTML, il devrait tout se retaper. Avec mes conseils, il aura juste à rajouter quelques / dans certaines balises comme les <br>... Ne pas fermer des balises parce que le format le "tolère", c'est crade, ne pas mettre de "" parce que le format le tolère c'est crade. C'est comme si en PHP tu utilisait les et "register_global" et "magoc_quotes" : hyper crade, d'autant plus qu'en PHP6 ses possibilités seront supprimées... Bravo la compatibilité si tu veux passer de php4, vers 5 puis 6.... obligé de tout refaire... alors avant de parler de mon "ignorance" sans connaitre mes réelles compétences, et donc de m'insulter sans raison, essaye un peu de te remettre en cause au lieu de toujours vouloir montrer ta supériorité (réelle ou non) aux autres dans tous les topics ou tu en as l'occasion sur yaronet, et d'en pourrir toutes les discussion. Et pour info, il vaut mieux omettre certaines informations quand tu formes des personnes, comme je l'ai fait au ./17, au lieu de dire absolument tout, comme tu le fais au ./20, afin de leur faire prendre tout de suite de bonnes habitudes de programmation ou autre... Différence entre ce qu'on peut faire, et ce qu'on doit faire. Faut être PROFESSIONNEL ! sur ce, débat clos sur ce sujet, merci de venir au sujet principal. Si tu veux continuer, ouvre un autre topic, on parlera la-bas. Ancien pseudo : lolo |
Spipu (./24) : Je ne suis pas d'accord. Il ne faut pas mentir. Et tu n'as pas juste omis certaines informations, tu as carrément fourni des informations fausses, genre "les noms des balises doivent être ecrites en minuscules (même si pour le coup html2pdf s'en fout, mais c'est quand meme pas valide pour le W3C)". Et cette attitude, en plus d'être malhonnête, est totalement contreproductive: les personnes, quand elles "découvriront" ce que tu leur as caché, vont le trouver génial ("super, on peut omettre les balises, ça va plus vite à taper") et se mettre à l'utiliser partout, il vaut mieux expliquer pourquoi ce n'est à ton avis pas une bonne idée de l'utiliser (comme tu l'as fait au ./24 par exemple), pas faire comme si ça n'existait pas. Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
Spipu (./24) : tu pourrais respecter quand je demande un truc ? ... [edit] edit car pas poli de ma part... Ancien pseudo : lolo |
Kevin Kofler (./25) : c'est sur... j'aurais du être plus explicite, mais du coup toi aussi dans ce sens pour le ./20 ... tous les 2 fautifs. bon, pour revenir au sujet Pollux (./23) : aoups, j'avais pas fait attention, ca sera corrigé. Pollux (./23) : en fait, au début, j'ai hésité à faire comme ca, puis j'ai décidé de faire à la "old school" car pour moi, définir une nouvelle page, c'est comme définir un tableau, ou autre, c'est une fonction à part entière, avec des propriétés, des styles, et j'ai donc préférer créer cette balise "virtuelle", non W3C. Car par exemple, voici un exemple de définition d'une page :
on peut définit une image de fond (./exemple7.png), sa position (en bas de la page : bottom), les marges spécifiques à appliquée en conséquence pour le contenu (backtop="0" backbottom="30"), et enfin un style propre à toute la page (style="font-size: 12px;"). D'ou cette solution ^^ Je suis d'accord que j'aurais pu tout faire avec de fausses propriétés CSS, mais j'ai pensé que ca allait être rapidement le bordel... Pollux (./23) : il est vrai que le code qu'on doit fournir tient peut-être plus du xHTML que de l'HTML, mais j'ai pris ces "conventions" car elles me semblaient acceptable histoire d'avoir du code propre Ancien pseudo : lolo |
nouvelle version 2.39 disponible : - corrections de quelques bugs - ajout des propriétés bgcolor, bordercolor - amélioration de la balise page - mise à jour et correction des exemples sinon, pour info, malgré ce qui a été dit plus haut, html2pdf prend depuis le début les balises et les propriétés, qu'elles soient en majuscule ou en minuscule, et que les valeurs soient entre " ou non c'est juste que je préfère quand les gens codent de manière stricte, pt de vu compatibilité. par contre, toujours pas de div, mais il y a toujours moyen de s'en passer, exemple : <td><div style="text-align: center"> => <td style="text-align: center"> Ancien pseudo : lolo |
nouvelle version 2.50 disponible : - corrections de quelques bugs (nobreak, marges, ....) - ajout de nouvelles balises (sup, sub, small, big, ...) - refonte totale de l'identification des styles CSS : les héritages et autres marchent maintenant les exemples sont dans le premier post de ce topic. l'exemple 1 et l'exemple 6 représentent le plus les modifications apportées dans cette nouvelle version. Ancien pseudo : lolo |