7

在过去的两天里,我一直在寻找有关如何将 zend_pdf 独立使用的答案。我在 google 上找到的所有内容都是指我在任何地方都找不到的 pdf.php。

我在这里找到了 zend_pdf ( https://github.com/zendframework/ZendPdf )

我不想在服务器上安装整个框架,也不想让人们告诉我使用 fpdf 或 tcpdf 或其他任何东西。zend_pdf 似乎是完美的解决方案。我只是想知道如何使用它 asstandalon。

有明确的指示吗?

谢谢

4

1 回答 1

10

首先,值得注意的是ZendPdf,您所指的版本是最初包含在 ZF2 中但在 2011 年某个时候从框架中删除的版本。作为旁注,我与 Matthew Weier O'Phinney 交谈过(ZF2 项目负责人)在 ZendCon 2012 上谈到了这一点,他说如果有人想伸出手来维护这个类,我们可以把它重新放到 ZF2 框架中。

我们在这里讨论的 ZF2 版本虽然在语义上与 ZF1 版本相同,但在语法上有所不同,因为 ZF2 开发人员在决定将其从主项目中分离出来之前进行了对命名空间的转换和一些其他重构. 大多数(甚至可能全部?)ZendPdf示例都Zend_Pdf来自 ZF1,除非您处理自动加载和其他语法差异,否则它们将不适用于此版本。

直到今天我才使用这个独立版本,发现它不会渲染生成的 PDF 文档,除非您包含一个来自 ZF2 框架的源代码文件夹。为了使下面的示例代码运行,您需要获取 ZF2 框架的副本并将该Zend/Memory文件夹复制到您从 Githublibrary下载时创建的文件夹中。ZendPdf

完成后,下面的独立 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' );

无论如何,这都不是生产就绪的代码。对于初学者,您需要一个更强大的自动加载器。

无论如何,我希望这能解决您眼前的问题和/或让您走上正轨。祝你好运!

于 2013-02-06T03:47:08.710 回答