30

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

31

Pour l'exemple 1 le premier tableau n'est pas censé remplir toute la largeur de la page (j'imagine que c'est à cause des text-align que ça fait ça ?)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

32

question bête : il n'y a pas des feuilles XSLT pour transformer du XML en PDF ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<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 appétissant

33

./31 => non, en fait, c'est à cause d'une convention que j'ai prise au début, et que malheureusement je ne peux plus changer maintenant car tous les docs que j'ai fait au boulot l'utilise :

quand un td (ou tout autre element) a une largeur "html" de 60px, mon convertisseur le convertit en une largeur "pdf" de 60mm... C'était pour simplifié l'écriture des HTML à convertir, on me demandait des colonnes de 5cm, il suffisait que je mette 50px. Je te l'accorde, c'est pas forcement très propre....

C'est bien pour cela que j'ai marqué que ce convertisseur n'est pas fait pour convertir des pages d'un site web, mais pour générer des documents officiels, style factures, courriers, commandes, ...

./32 => peut-etre, je n'ai jamais regardé de ce côté là, car en fait je n'ai jamais fait de XSLT... Tu aurais des liens ?
Ancien pseudo : lolo

34

ok, mais euh, ce serait pas plus logique d'utiliser des mm plutôt que des px si tu veux des mm ? parce que là je vois pas trop ce que ça simplifie trifus

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

35

tu sais quoi ? parfois ca me fait chier d'être aussi con....

je vais tout revoir moi ! et de même pour height, font-size, border....

mais quel con !

bon, ben la prochaine version, ce sera pour ca....
Ancien pseudo : lolo

36

pour pas que je me trompe dans mes conversion :


1 mm = 72/25,4 pt
1 in = 72 pt

la, pas de pb

mais 1 px = ? pt quelle est la bonne conversion à faire ?
Ancien pseudo : lolo

37

Il n'y a pas de conversion fixe, ça dépend du dpi de ton écran.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

38

1in = 96px en général (mais de toute façon si tu gères les images tu as déjà une relation entre px et in, donc faut voir si les deux correspondent bien)
Kevin Kofler (./37) :
Il n'y a pas de conversion fixe, ça dépend du dpi de ton écran.

Toutes les pages web sont conçues pour le dpi configuré en standard sur 95% des ordinateurs, à savoir 96 dpi.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

39

Pollux (./38) :
à savoir 96 dpi.


96dpi = 96 dot per inch.... => 1in = 96pt

c'est pas mon 1in=72pt ?

ou sinon, là, le d est un pixel, et pas un pt ?
Ancien pseudo : lolo

40

oui ce serait plus précis de dire pixels per inch ; et pt ça n'a rien à voir avec dot (même si ça se traduit pareil en français), c'est http://en.wikipedia.org/wiki/Point_(typography) autrement dit c'est juste une subdivision du pouce...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

41

Kevin> Au fait on dit « insensible » à la casse, pas insensitif.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

42

ok, donc là, on aurait :

25.4mm = 1in
72pt = 1in
92px = 1in

c'est bien ca ?
Ancien pseudo : lolo

43

Qu'en est-il du support UTF-8? J'essaye depuis tout à l'heure d'envoyer de l'utf8 mais même au travers d'htmlentities() ça me renvoit des trucs bizarres! Peut être que ça veint de fdpf?

EDIT: coup de bol je viens de tomber sur l'explication. ça vient bien de FPDF. La solution est expliquée ici (soit changer de classe, soit utiliser utf8_decode()) http://www.developpez.net/forums/showthread.php?t=272823
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

44

Spipu (./42) :
ok, donc là, on aurait :

25.4mm = 1in
72pt = 1in
92px = 1in

c'est bien ca ?

96px = 1in, mais sinon c'est ça

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

45

Heu avez vous deja essayer beaucoup de tableaux chez vous?

Car chez moi au-delà de 4 tableaux il ne prend plus en compte l'attribut style="width:100%" de ma balise table et les tableaux suivant deviennent alors aussi large que le plus long des textes qu'ils contiennent!

Voici mon code d'exemple:

<table style="width:100%; border:solid 5px #000000; text-align:center;">
	<tr>
		<td style="width: 25%; text-align:left; border:solid 1px #000000;"><img style="height: 8px; width: 40px;" src="../img/sda_mini_sans_alpha.png"></td>
		<td style="width: 50%;  border:solid 1px #000000;"><h4>FICHE TECHNIQUE</h4></td>
		<td style="width: 25%;  border:solid 1px #000000;">31/05/2008</td>
	</tr>
</table>
<br>

<table style="width:100%; border:solid 3px #000000; text-align:center;">
	<tr>
		<td style="width: 60%; border:solid 3px #000000;"><h4>Devastator</h4></td>
		<td style="width: 40%; border:solid 3px #000000;"><h4>Formule n° F 1234</h4></td>
	</tr>
</table>
<table style="width:100%; border:solid 3px #000000; text-align:center;">
	<tr>
		<td style="width: 40%; border:solid 3px #000000;"><i>Responsable de la mise sur le marché<i></td>
		<td style="width: 60%; border:solid 3px #000000;">DARPA</td>
	</tr>

	<tr>
		<td style="width: 40%; border:solid 3px #000000;"><i>Adresse<i></td>
		<td style="width: 60%; border:solid 3px #000000;">8 rue victor hugo</td>
	</tr>

	<tr>
		<td style="width: 40%; border:solid 3px #000000;"><i>Type de produit (usage)<i></td>
		<td style="width: 60%; border:solid 3px #000000;">Devastateur</td>
	</tr>

	<tr>
		<td style="width: 40%; border:solid 3px #000000;"><i>Echantillon de référence<i></td>
		<td style="width: 60%; border:solid 3px #000000;">7000</td>
	</tr>
</table>

<table style="width:100%; border:solid 3px #000000; text-align:center;">
	<tr>
		<td style="width:50%; border:solid 2px #000000;">testtesttesttesttesttesttesttest</td>
		<td style="width:50%; border:solid 2px #000000;">testtesttesttesttesttesttesttest</td>
	</tr>
	
	<tr>
		<td style="width: 50%; border:solid 2px #000000;">testtesttesttesttesttesttesttest</td>
		<td style="width: 50%; border:solid 2px #000000;">testtesttesttesttesttesttest</td>
	</tr>
</table>


Le dernier tablau ets concerné par ce problème. La version de html2pdf que j'utilise est la 2.50.
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

46

./43 => bon, ben t'as trouvé tout seul la solution smile

./44 => argh, je sais même pas lire... merci pour ta vigilance !

./45 => lol, essaye de fermer tes balises <i> au lieu de les réouvrir, ca marchera mieux wink il faut que l'html soit valide wink
Ancien pseudo : lolo

47

Hum hum!...

Alors on va dire que je sors et que je vais aller jouer au foot sur la quatre voies triso

Non sans blague je suis à la fois désolé d'avoir mis en doute ta bibliothèque qui me sauve mon projet, et aussi consterné par l'état de ma connerie. Pas plus tard qu'il y a deux semaines j'ai cherché pendant une après midi entière à comprendre pourquoi un ordi ne captait plus le wifi du jour au lendemain avant de m'apercevoir dans la soirée que c'était parceque la box était derrière un écran cathodique... triso


Soit en deux mots Mea Culpa smile

(et encore bravo pour html2pdf)
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

48

JoNas (./47) :
(et encore bravo pour html2pdf)


mici ^^
Ancien pseudo : lolo

49

Spipu (./46) :
./45 => lol, essaye de fermer tes balises <i> au lieu de les réouvrir, ca marchera mieux wink il faut que l'html soit valide wink

[mode=kevin] c'est de l'HTML valide, n'importe quel parseur respectant la spec du W3C rajouterait les </i></i> avant le </td> [/mode] tongue

mais ce serait trop compliqué de vérifier que l'html est effectivement valide au sens de ton outil ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

50

normalement non, il suffirait juste que le niveau final est bien à zero, car j'ai déjà un compteur qui ajoute 1 quand on ouvre une balise, et enleve 1 quand on la ferme...

après, il faudrait carrement que je vérifie que la balise qu'on ferme correspond à la derniere balise ouverte, ce qui ne serait pas trop compliqué je pense (meme pas du tout)

je vais surement rajouter ces 2 pts sous peu
Ancien pseudo : lolo

51

ça serai un plus, mais ça ne ferai que donner raison aux gros kevins comme moi qui ne savent pas coder en HTML (et en beaucoup d'autres choses en fait :P)
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

52

nouvelle version 2.55 disponible :
- vérification la validité du code (fermeture des balises ouvertes, ...)
- prise en compte des unités in, pt, mm
- corrections et améliorations diverses

IMPORTANT : la convention 1px = 1mm a été prise afin de pouvoir préparer la page en HTML pour ensuite la convertir facilement en PDF. Si j'avais utilisé 96px = 1in, le résultat HTML n'aurait pas été visualisable facilement dans un navigateur WEB
Ancien pseudo : lolo

53

top (mais je comprends pas du tout ta dernière remarque [et puis 96px = 1in et pas 1mm])

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

54

essaye de créer une page avec comme unité le mm (du style tu veux 2 colonnes de 10cm, avec dedant du texte écrit en 20mm :
<table style="font-size: 20mm; border: solid 1px #000000;">
	<tr>
		<td style="width: 90mm; border: solid 1px #000000;">ceci est une phrase longue, ceci est une phrase longue</td>
		<td style="width: 90mm; border: solid 1px #000000;">ceci est une phrase longue, ceci est une phrase longue</td>
	</tr>
</table>

le rendu PDF : pas de pb
le rendu HTML : texte complètement disproportionné par rapport au tableau

par contre en, en faisant comme ca :
<table style="font-size: 20px; border: solid 1px #000000;">
	<tr>
		<td style="width: 90mm; border: solid 1px #000000;">ceci est une phrase longue, ceci est une phrase longue</td>
		<td style="width: 90mm; border: solid 1px #000000;">ceci est une phrase longue, ceci est une phrase longue</td>
	</tr>
</table>

le rendu PDF sera identique (px = mm)
le rendu HTML en sera proche

[ j'ai corrigé le 96px = 1in (erreur de ma part) dans mon post ./52 ]
Ancien pseudo : lolo

55

Euh ben c'est normal c'est gigantesque 20mm comme taille de police... Mais à part ça 90mm comme largeur c'est bien, après tout sur une page A4 ça va remplir quasiment toute la largeur ^^ Je pense que c'est plutôt la taille des polices du PDF qui est foireuse...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

56

Pollux (./55) :
c'est plutôt la taille des polices du PDF qui est foireuse...


peut-etre en effet, j'avais pas fait attention... une police de 20mm de hauteur...

P#### !!!!

je viens de comprendre !!!

dans fpdf, on peut choisir son unité par défaut. J'avais mis 'mm', et je convertissais tout en mm (logique)
sauf que quelque soit l'unité choisi, la fonction permettant de choisir la taille de la police (SetFont) attend forcement une taille en "pt" !!!!

là, ca fait chier, car ca veut dire que si je corrige ce problème, tous les documents HTML que j'avais généré pour conversion auront des pbs de mise en page.... et j'en ai plusieurs milieurs ! (dans les 50 par jours)

comment je vais faire moi....
Ancien pseudo : lolo

57

switch de compatibilité si c'est trop compliqué de faire un script pour convertir ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

58

Pollux (./57) :
switch de compatibilité


c'est à ce que je pensais, mais c'est crade.....

si switch = old , 1px = 1mm, taille envoyée sans conversion à la fonction SetFont
si switch = new, 96px = 1in, et taille corrigée pour la fonction SetFont

j'aime pas les patchs...

je préfèrerais un script pour convertir, mais je n'ai pas accès à l'espace de stockage des documents HTML...
Ancien pseudo : lolo

59

bon, ben en fait, je viens de me rendre compte qu'il y avait pas mal de truc que j'avais mal interprété, mal codé, mal convertit... et ca impacterait trop les documents que j'ai fait actuellement. Pas grave, mon projet se termine bientôt !

dès que celui-ci sera finit (ou que j'aurais du temps pour coder chez moi), je poserais tout à plat et reprendrais tout bien les conversions et autres, et j'en profiterais pour rajouter les padding pour les td et tables. Par contre, du coup, cette nouvelle version ne sera surement pas tout à fait compatible avec vos anciens HTML, car elle convertira beaucoup mieux l'HTML en PDF, et donc partout où vous aurez du adapter les longueurs/tailles, vous devrez corriger...

on va dire que cette nouvelle version (3.0 sans doute) sortira d'ici 3 semaines. D'ici là, je suis toujours preneur de vos remarques et bugs, mais ils ne seront alors corrigés qu'avec la prochaine version...
Ancien pseudo : lolo

60

Personnellement j'arrive à faire a peu près ce que je veux avec la 2.55 et d'ici trois semaines j'aurai fini mon stage et mon année donc je crois que je vais rester sur cette version ^^

Sinon une chose me manque c'est le "vertical-align: middle" et aussi la fonction "output" de ta classe principale qui génère un fichier "document.pdf". Je la change a chaque fois pour pouvoir passer en paramètre mon propre nom de fichier.

Voilà, encore bravo et surtout merci pour mettre ton travail à disposition en GPL smile
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD