首先,值得注意的是,您所指的 ZendPdf 版本是最初包含在 ZF2 中但在 2011 年某个时候从框架中删除的版本。作为旁注,我说过在 ZendCon 2012 上向 Matthew Weier O'Phinney(ZF2 项目负责人)谈及此事,他说如果有人想伸出手来维护这个类,我们可以将它重新放入 ZF2 框架中。
我们在这里讨论的 ZF2 版本虽然在语义上与 ZF1 版本相同,但在语法上有所不同,因为 ZF2 开发人员在决定将其从主要项目。大多数(甚至可能全部?)ZendPdf 示例都是针对 ZF1 中的Zend_Pdf 的,除非您处理自动加载和其他语法差异,否则它们将不适用于此版本。
直到今天我才使用这个独立版本,发现它不会渲染生成的 PDF 文档,除非您包含一个来自 ZF2 框架的源代码文件夹。为了使下面的示例代码运行,您需要获取 ZF2 框架的副本并将 Zend/Memory 文件夹复制到您从 Github 下载 ZendPdf 时创建的 library 文件夹中。
完成此操作后,以下独立 PHP 代码将允许您使用 ZendPdf 创建 PDF 文件:
<?php
function simpleBootLoader( $stack )
{
require_once './library/' .
str_replace( '\\', DIRECTORY_SEPARATOR, $stack ) .
'.php';
}
spl_autoload_register( 'simpleBootLoader' );
use ZendPdf\PdfDocument;
use ZendPdf\Page;
use ZendPdf\Font;
$pdf = new PdfDocument();
$pdf->pages[0] = new Page( Page::SIZE_A4 );
$pdf->pages[0]->setFont( Font::fontWithName( Font::FONT_HELVETICA ), 24 );
$pdf->pages[0]->drawText( 'Hello world!', 240, 400 );
$pdf->save( 'example.pdf' );
无论如何,这都不是生产就绪的代码。对于初学者,您需要一个更强大的自动加载器。
无论如何,我希望这能解决您眼前的问题和/或让您走上正轨。祝你好运!