如何在 Magento 中创建 PDF 并在其上写一些东西?这是我一直在“在空白页上”玩的样本。
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
require_once($_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php');
Mage::app();
/* --------------------------------------------------------- */
$pdf = new Zend_Pdf('w2.pdf');
$pdf->drawText('sample text', 420,628);
// instruct browser to download the PDF
header("Content-Type: application/x-pdf");
header("Content-Disposition: attachment; filename=w2.pdf");
header("Cache-Control: no-cache, must-revalidate");
// output the PDF
echo $pdf->save('w3.pdf');
但这是我收到的错误。
Fatal error: Uncaught exception 'Zend_Pdf_Exception' with message 'File is not a PDF.' in /Volumes/www/vhosts/magento/lib/Zend/Pdf/Parser.php:396 Stack trace: #0 /Volumes/www/vhosts/magento/lib/Zend/Pdf.php(309): Zend_Pdf_Parser->__construct('w2.pdf', Object(Zend_Pdf_ElementFactory_Proxy), false) #1 /Volumes/www/vhosts/magento/scripts/pdf_gen.php(10): Zend_Pdf->__construct('w2.pdf') #2 {main} thrown in /Volumes/www/vhosts/magento/lib/Zend/Pdf/Parser.php on line 396
该错误没有意义,因为 w2.pdf 是位于同一目录中的实际 pdf。w3.pdf 文件不存在,这会是问题吗?我也改变了
$pdf = new Zend_Pdf('w2.pdf');
to
$pdf = new Zend_Pdf();
并收到此错误
Fatal error: Call to undefined method Zend_Pdf::drawText()
我还尝试将 w2.pdf 重命名为我从 Internet 下载的另一个 pdf,包括 $pdf->save('file_i_downloaded) ,但我仍然得到 File is not a PDF 错误。
这是我正在使用的 PDF:http ://www.getharvest.com/resources/invoice-template-pdf