1

bonjour

j'ai 2 fonctions qui génèrent une barre de progression

[code]
function Initialize($gauche,$haut,$largeur,$hauteur,$bord_col,$txt_col,$bg_col)
{
$tailletxt=$hauteur-10;
echo '<div id="pourcentage" style="position:absolute;top:'.$haut;
echo ';left:'.$gauche;
echo ';width:'.$largeur.'px';
echo ';height:'.$hauteur.'px;border:1px solid '.$bord_col.';font-family:Tahoma;font-weight:bold';
echo ';font-size:'.$tailletxt.'px;color:'.$txt_col.';z-index:1;text-align:center;">0%</div>';

echo '<div id="progrbar" style="position:absolute;top:'.($haut+1); //+1
echo ';left:'.($gauche+1); //+1
echo ';width:0px';
echo ';height:'.$hauteur.'px';
echo ';background-color:'.$bg_col.';z-index:0;"></div>';

}

function ProgressBar($indice)
{
echo "\n<script>";
echo "document.getElementById(\"pourcentage\").innerHTML='".$indice."%';";
echo "document.getElementById('progrbar').style.width=".($indice*2).";\n";
echo "</script>";
flush();
}
[/code]

je n'arrive pas à l'intégrer au code qui génère mon pdf

[code]
ob_start();
include(dirname(__FILE__).'/catalogue.php');
$content = ob_get_clean();
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr', array(0, 0, 0, 0));
// affichage de la page en entier
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($content);
// ajout de l'index (obligatoirement en fin de document)
$html2pdf->setNewPage();
$html2pdf->pdf->CreateIndex('Index', 25, 12);
$html2pdf->Output('catalogue.pdf');
[/code]

un petit coup de pouce please

merci a+ gilles

2

déjà, une partie de ton code fait intervenir du javascript qui ne sera pas converti en pdf.

ensuite quel est le problème exactement ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

en fait il aimerait sa barre de progression apparaisse dans le navigateur du client pendant que le PDF est généré... puis une fois le PDF finit, qu'il s'affiche à l'ecran.

ce n'est pas possible facilement, car une fois du code HTML envoyé au navigateur, aucune autre format ne peut être envoyé !

ce qu'il faudrait c'est que lors de la génération du PDF, le PHP qui le génère indique dans un fichier là ou il en est, et que du côté client, en AJAX, le navigateur intérroge ce fichier sur le serveur pour du coup afficher à l'ecran où il en est. puis une fois le document terminer, il s'afficherait directement.

par contre, c'est chiant à faire, et je ne vois pas l'interet... il vaut mieux juste afficher un message comme quoi la génération prend du temps. car plus on fait d'étapes inutiles, plus ca ralentit la génération !
Ancien pseudo : lolo

4

Ah ok j'avais pas compris le pb comme ça. Pour le coup c'est assez pénible à faire oui, puisqu'il va falloir communiquer entre un script php qui tourne et un autre qui va devoir l'interroger pour savoir où il en est, je ne sais pas si il y a un moyen fiable de passer des variables d'un script à un autre mais sinon ça risque d'être super foireux (fichier temporaire ou autre >_<).
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)