1

Bonjour,

Avant tout, félicitations pour ce beau projet à qui j'espère une longue vie ! Très bonne idée d'encapsuler les méthodes et c'est bien réussi.

J'ai vu sur le forum que je n'étais pas le seul à avoir des soucis de performances avec un tableau.

J'ai une appli qui génère un tableau d'environ 250 lignes (tr), 2 colonnes (td) (pas de tableau imbriqué mais une première colonne avec une phrase moyenne dans chaque case.) et le temps de fabrication du pdf est en effet long, plus d'une dizaine de secondes.
Ça m'a beaucoup surpris et je pensais au début que ça venait de ma méthode de génération de la table (méthode récursive, accès base de données). Mais en fait en laissant ma méthode tourner mais en n'écrivant pas le résultat dans le pdf, le résultat était immédiat. En écrivant le code html de ma table dans un fichier j'ai environ 60ko de données, ce qui n'est pas si énorme.

J'en conclus qu'il y aurait peut-être moyen d'optimiser l'algorithme afin de donner du boulot à son auteur smile (quelle horreur ces insatisfaits qui vous poussent à replonger dans un code complexe). Si j'ai un moment je regarderai le code de mon côté, parfois il y a des méthodes de sioux qui viennent du ciel (et parfois c'est clairement pas possible).

Au fait à signaler, je ne sais pas si c'est normal ou pas, le text-indent ne fonctionne pas dans un td (mais un padding fait l'affaire).

Encore bravo pour ce projet et bon courage pour la suite.

Kaerman
K.

2

kaerman (./1) :
Au fait à signaler, je ne sais pas si c'est normal ou pas, le text-indent ne fonctionne pas dans un td (mais un padding fait l'affaire).

c'est "normal", car je n'ai implémenté le text-indent que sur la balise <p>.

concernant les optimisations, je suis ouvert à toute piste smile

Ancien pseudo : lolo

3

Petite information peut-être utile si vous continuez le développement de html2pdf

J'ai un tableau de plus de 450 lignes, 2 colonnes (un peu plus long que mon premier post). La deuxième colonne contient 3 à 4 mots.
Lorsque j'encapsule chacun de ces mots par un span (pour éventuellement appliquer un style), html2pdf dépasse la mémoire (64M). Et si jamais j'augmente la mémoire à 128, le script dépasse les 30s fatidiques de ma config php, stop, je ne suis pas allé plus loin.
En revanche, si j'ôte ces span, le temps redescend entre 15 et 20s, sans augmenter davantage la mémoire. Gourmand le span !

Face à ces temps j'ai regardé un peu les quelques librairies récentes, compatibles php 5.3. dompdf semblait intéressante alors j'ai voulu voir ce que cela donnait sur leur exemple de table longue (800 cellules, chacune une couleur, 2 pages, un header et un footer pour la table).
Résultat : votre html2pdf est plus rapide et il produit un document de meilleure qualité (les headers et footers s'affichent correctement). Bravo !

Voilà c'était juste pour remonter ces expériences.

Cordialement

K.
K.