有人用这个函数在PHP中创建PDF吗?
http://www.ros.co.nz/pdf/
我需要设置这个pdf的名称,但我找不到选项。名称与当前页面相同;例如,如果页面是www.myweb.com/hello.php,则名称将是hello.pdf。我需要为每个pdf更改一个唯一的名称,因为它是用于计费的。
这是一个代码示例:
<?php
include('class.ezpdf.php');
$pdf =& new Cezpdf('a4');
$pdf->selectFont('fonts/courier.afm');
$datacreator = array (
'Title'=>'Factura PDF',
'Author'=>'Just me',
'Subject'=>'Factura nº123123123',
'Creator'=>'Just me',
'Producer'=>'http://www.xxxxxxx.com'
);
$pdf->addInfo($datacreator);
$pdf->ezText("<b>Factura numero 123123123 </b>'n",20);
$pdf->ezText("Esta es una prueba de pdf'n",12);
$pdf->ezText("'n'n'n",10);
$pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"),10);
$pdf->ezText("<b>Hora:</b> ".date("H:i:s")."'n'n",10);
$pdf->ezStream();
?>
谢谢。
不要使用$pdf->ezStream()
或$pdf->stream()
,而是使用$pdf->output()
。尝试在PHP代码的底部添加以下代码:
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=yourfilename.pdf");
print $pdf->output();
希望能有所帮助。
显然,文件名只能通过http头设置,库的作者不确定它是否有效。stream()的文档状态:
选项数组可用于设置有关输出的许多内容:
"Content Disposition"=>"filename"设置文件名,但不太确定它的工作效果在我的试用中,浏览器似乎使用了php文件的文件名,末尾是.pdf。
这可能有效(但未测试):
$pdfcode = $pdf->ezOutput();
在常见问题解答的基础上自行编写PDF的代码。把它写在一个whatever.pdf文件中,其中有所需的文件。
文档说这样做:$pdf->ezStream(array('filename'=>$nome,'compress'=>0));
,但我什么都没发生。