1

Bonjour,

Je test votre class html2pdf pour la première fois.
Je génère parfaitement ma vue html mais au moment de générer mon pdf, j'ai le message :
"Fatal error: Maximum execution time of 30 seconds exceeded"

Ma page contient un planning avec une grande succession de <table> imbriqué.
Je génère mon planning à l'aide d'une class que j'ai récupéré et adapté.

Voici une lien pour voir la vue html :
http://www.mangostine-creation.fr/test/print_planning.php?vuehtml

et si on test de générer le pdf :
http://www.mangostine-creation.fr/test/print_planning.php


SVP !!!
Pouvez-vous me guider ? M'aider ?


Pour le code source du tableau vous y avez accès, sinon pour générer le pdf j'ai inscris :

$content = '
<style type="text/css">
<!--
...
-->
<page>
<table...
...
.../table>
</page>

// conversion HTML => PDF
require_once('html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->setDefaultFont('Arial');
$html2pdf->WriteHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output();



En vous remerciant,

Mickaël
Société Mangostine

2

Bonjour,
J'ai eu le même problème que Mickaël de Mangoustine.

Seulement quand je teste la génération dans un poste cela marche. Mais dans un autre poste cela me génère un des deux messages : soit "Fatal error: Maximum execution time of 30 seconds exceeded" soit "Fatal error: Maximum execution time of 60 seconds exceeded" mais toujours "in styleHTML.class.php".

Si quelqu'un peut nous aider nous lui seront reconnaissants.

Merci.

3

set_time_limit(0); ??
et la le mec il le pécho par le bras et il lui dit '

4

Effectivement, c'est une solution que je n'avais pas mentionné mais à ce moment, mon document met + de 2 minutes à s'afficher (un peu long pour proposer à un client).
Et sur certains hébergements, le set_time_limit n'est pas accessible.

Ma question peut alors être ?
Qu'est ce qui ralentit autant la génération du pdf alors que la vue html est très rapide ?
L'imbrication des tableaux ? La succession de classes ?

Pour avoir essayé d'épurer l'imbrication des tableaux.
Juste un tableau calendrier que je répétais 12 fois, le problème semblait être le même !


En vous remerciant !

5

Rebonjour,

J'ai activé le mode débugage avec $html2pdf->setModeDebug();

J'ai eu une liste avant le message d'erreur que voici


step time delta memory peak
Init debug 0.1 ms 0.1 ms 0.0 Ko 0.0 Ko
PAGE n°1 Begin 129.1 ms 129.0 ms 0.0 Ko 0.0 Ko
Table n°1 Begin 130.9 ms 1.8 ms 0.0 Ko 0.0 Ko
Table n°1 End 224.6 ms 93.7 ms 0.0 Ko 0.0 Ko
Table n°2 Begin 225.4 ms 0.8 ms 0.0 Ko 0.0 Ko
Table n°2 End 305.5 ms 80.1 ms 0.0 Ko 0.0 Ko
Table n°3 Begin 306.2 ms 0.7 ms 0.0 Ko 0.0 Ko
Table n°3 End 323.3 ms 17.0 ms 0.0 Ko 0.0 Ko
DIV Begin 323.4 ms 0.1 ms 0.0 Ko 0.0 Ko
Table n°4 Begin 961.7 ms 638.3 ms 0.0 Ko 0.0 Ko
Table n°4 End 1 463.9 ms 502.2 ms 0.0 Ko 0.0 Ko
Table n°5 Begin 1 464.8 ms 0.9 ms 0.0 Ko 0.0 Ko
Table n°5 End 1 973.4 ms 508.6 ms 0.0 Ko 0.0 Ko
DIV End 1 973.7 ms 0.3 ms 0.0 Ko 0.0 Ko
PAGE n°1 End 1 973.9 ms 0.2 ms 0.0 Ko 0.0 Ko
PAGE n°2 Begin 1 974.0 ms 0.1 ms 0.0 Ko 0.0 Ko
Table n°6 Begin 1 980.9 ms 6.8 ms 0.0 Ko 0.0 Ko
Table n°6 End 2 059.1 ms 78.2 ms 0.0 Ko 0.0 Ko
Table n°7 Begin 2 059.6 ms 0.6 ms 0.0 Ko 0.0 Ko

Fatal error: Maximum execution time of 60 seconds exceeded in c:\program files\easyphp1-8\www\intranetcgi\Applis\evaluations3\html2pdf_v3.28\styleHTML.class.php on line 1259

Le problème c'est que sur le Table n°7 je n'ai qu'un td avec un textarea qui est à 95% vide.

Alors est-ce qu'il y a un problème avec les textarea sachant qu'au début la génération de PDF se passait à merveille.

Merci.

6

ton probleme viens peu être non pas de la table 7 mais de la 8

sans rentrer dans les details de html2pdf,
si ton hébergement le permet, lance la génération du pdf avec un exec en php, qui envera un mail au client avec le pdf une fois celui ci généré, ou un truc du style ^^

moi je fait ca quant un client passe une commande pour le rentrer sur le serveur de sp4m, qui met bien souvent 30 secondes à répondre quant il shoote ^^
et la le mec il le pécho par le bras et il lui dit '

7

je voudrais bien mais le problème c'est que même la Table N°8 est à 95% vide.

sinon quel est le nombre maximum de tables imbriquées qu'on peut implémenter?

8

de manière générale, que ce soit pour HTML2PDF ou directement pour une page HTML, d'avoir inutilement trop de tables imbriquées. exemple : si ta table 8 est à 95% vide, pourquoi existe-elle ?

html2pdf sait gérer les colspan et rowspan, donc normalement, on pourrait meme éviter complètement d'avoir des tableaux imbriqués.

après, tout dépend aussi énormément du serveur, mais pour générer des PDFs, il vaut mieux avoir un serveur assez puissant...
Ancien pseudo : lolo

9

le pdf du lien incriminé se génère, mais les tables ont un problème:

tromb Fichier joint : print_planning.pdf

10

ce n'est pas qu'elles ont un pb, mais que le contenu ne peut de toute facon pas rentrer dans la page. essaye en mettant la page en paysage

pour les images, c'est parce que le chemin relatif n'est pas le bon par rapport à là ou est appelé le script qui génère le pdf
Ancien pseudo : lolo