Генерация нескольких PDF одновременно в EZPDF

Я не знаю, почему это не работает. Я использовал цикл while для создания нескольких PDF-файлов с помощью класса ezpdf, и создается только 1 PDF-файл. Я также пробовал «для цикла», но все тот же. Что я должен сделать, чтобы достичь более одного PDF?

include ('class.ezpdf.php');
$limit = 1;
while($limit < 5){
$colw = array(      80 ,    40,   220,    80,     40  );//column widths
$rows = array(
array('company','size','desc','cost','instock'),
array("WD", "80GB","WD800AAJS SATA2 7200rpm 8mb"        ,"$36.90","Y"),

);

//x is 0-600, y is 0-780 (origin is at bottom left corner)
$pdf =& new Cezpdf('LETTER');

$total=0;
$curr_x=80;
$curr_y=600;
foreach($rows as $r)
{
$xoffset = $curr_x;
foreach($r as $i=>$data)
{
$pdf->setColor(0/255,0/255,0/255);
$pdf->addText( $xoffset, $curr_y , 10, $data );
$xoffset+=$colw[$i];
}
$curr_y-=20;
}
define('MY_FILENAME', 'testDoc'.$limit.'.pdf');
$pdfcode = $pdf->ezOutput();
$fp = fopen(MY_FILENAME, 'wb');
fwrite($fp, $pdfcode);
fclose($fp);

}

0

Решение

Может быть, я думаю, что ваша проблема возникает, потому что вы пытаетесь установить постоянное значение с определить () в петле.
Я проверил это, и переменная define (MY_FILENAME) всегда имела одно и то же значение внутри цикла. Кажется, что PHP не устанавливает определенные переменные снова.

Ваше решение будет состоять в том, чтобы заменить определенную переменную (MY_FILENAME) на обычную переменную, подобную этой …

for ($i = 0; $i < 10; $i++)
{
$myPDFFile = "PDF" . $i . ".pdf";

$pdf = new Cezpdf('A4');    // create CezPDF-object

// write content to PDF-file

$pdfCode = $pdf->output();  // content of PDF to variable

$file = fopen($myPDFFile, "wb");
fwrite($file, $pdfCode);
fclose($file);
}

вместо

for ($i = 0; $i < 10; $i++)
{
define(MY_FILENAME, "testDoc" . $i . ".pdf");
...
}

Я надеюсь, что это будет работать для вас.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]