【问题标题】:Where to get and how to use zend_pdf standalone从哪里获得以及如何使用 zend_pdf 独立
【发布时间】:2013-02-05 21:14:44
【问题描述】:

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

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

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

有什么明确的说明吗?

谢谢

【问题讨论】:

    标签: php zend-pdf


    【解决方案1】:

    首先,值得注意的是,您所指的 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' );
    

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

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

    【讨论】:

    • 感谢您阐明整个 Zend_pdf 状态。使用zend框架的过程对于我的需要来说似乎有点太多了。很抱歉对我原来的帖子有点不耐烦。基本上,我需要覆盖现有的 pdf 并使用 php mailer 将其附加到电子邮件中。这是一个已经在运作的在线商店,但我需要添加礼品券的销售。我有一个 pdf 表格(我可能需要删除其中的数字表格)并且需要在上面写上价值和序列号。我想我最终会使用 fpdi (setasign.de/products/pdf-php-solutions/fpdi)
    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 2023-03-03
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2013-07-04
    相关资源
    最近更新 更多