我不知道为什么它不起作用。我使用while循环生成多个带有ezpdf类的pdf,并且只创建了1个pdf。我也试过“循环”#39;但仍然是一样的。我该怎么做才能获得多个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 :(得分:1)
也许我认为您的问题发生是因为您尝试在循环中使用 define()设置常量值。 我测试了它,并且define-variable(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");
...
}
我希望这对你有用。