Spipu Le 27/06/2011 à 11:16 32Mo c'est très légé...
regarde la consommation de ton navigateur pour afficher la meme page... il prend largement plus de 32Mo.
je pense qu'un serveur mutualisé est un peu limite pour faire cela.
sinon, essaye en appelant plusieurs fois de sutie la méthode writeHTML pour chaque page séparément.
J'ai essayé d'appeler plusieurs fois le méthode writeHTML à la suite:
$html2pdf->writeHTML($content);
$html2pdf->writeHTML($content);
$html2pdf->writeHTML($content);
Cela ne change rien le serveur plante au boute de la 10 fois que j'apelle la méthode (il plante aussi au bout de 10 pages si un seul appel).
Il y a-t-il une technique pour générer les pages une par une puis de générer un seul document afin de soulager le serveur niveau mémoire ?
De plus je ne peux pas utiliser pdftk car je ne peux pas l'installer sur un 1and1 mutualisé...
Merci
Spipu Le 27/06/2011 à 13:09 ben malheureusement, là, il n'y a que 2 solutions :
- essayer de simplifier l'html (moins de divs ou de tableaux imbriqués)
- avoir un serveur avec plus de ressources
Les tableaux ne sont pas imbriqués juste 50 lignes * 3 colonnes par pages.
Appeler plusieurs fois writeHTML a-t-il déjà réglé le problème de mémoire ?
Je n'ai aucune contrainte de temps, je peux attendre qu'une page soit générée, libérer la mémoire et continuer (mais le tout dans le même document grr).
J'ai opté pour la solution de générer les fichiers pdf de manière séparée.
Comment faire pour que la mémoire soit libérée après chaque création de pdf.
J'ai tenté:
// récupération du contenu HTML
ob_start();
include(dirname(__FILE__).'/pdf.php');
$content = ob_get_clean();
// conversion HTML => PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf_v4.01/html2pdf.class.php');
for($i=1;$i <= 80;$i++){
try
{
$html2pdf = new HTML2PDF('P','A4', 'fr');
//$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->writeHTML($content);
$html2pdf->Output('compte_rendu_'.$a.'.pdf','F');
}
catch(HTML2PDF_exception $e) { echo $e; }
}
Mais ça ne libère pas la mémoire.
Les fichiers doivent se créer suite au clic d'un bouton de l'utilisateur (pas de tâche CRON possible).
Spipu Le 28/06/2011 à 10:03 normalement, avec un unset de $html2pdf, la mémoire doit être libérée
Au final j'ai 'utilisé Ajax pour appeler les créations de pages une à une dès que la précédente est finie. Le serveur ne surcharge plus !
Et à la fin je concatène le fichier toujours en Ajax.
Bonjour,
Comment as tu fait pour fusionner ensuite le pdf stp ?
Bonne journée
Salut,
désolé de faire remonter les vieux posts mais je suis aussi intéressée...