【问题标题】:Is possible convert HTML into pdf using Zend_Pdf?是否可以使用 Zend_Pdf 将 HTML 转换为 pdf?
【发布时间】:2011-07-08 04:22:02
【问题描述】:

是否可以使用 Zend_Pdf直接将 HTML 转换为 pdf 文件?如果可以,我该怎么做?

【问题讨论】:

  • 不,我不认为这就是它的目的。 framework.zend.com/manual/en/zend.pdf.introduction.html
  • 虽然这可能是科学怪人式的(而不是真正回答您的问题)我使用 PHP 生成内容,将输出缓冲区发送到文件,并使用 wkhtmltopdf i> 生成 PDF。

标签: html zend-framework pdf zend-pdf


【解决方案1】:

查看MPDF。最后一个。使用内联 css 创建您的 html,将其存储在一个 php 变量中并回显到 pdf 文件。你完成了!

【讨论】:

    【解决方案2】:

    我使用过 dompdf https://github.com/dompdf/dompdf,它非常简单直接。它甚至可以读取/格式化 css。

    【讨论】:

    • 我尝试使用 dompdf 从 html 生成 pdf,但它有一个非常烦人(已知)的问题:它在两个表格行之间放置了一些空白页面(至少在 0.6.0 beta 3 中)
    【解决方案3】:

    tcpdf 在 html 方面有点局限,wkhtmltopdf 使用 webkit

    【讨论】:

    • 问题是关于 zend_pdf 哪个 tcppdf、dompdf 和 mpdf 更适合。
    【解决方案4】:

    Zend_PDF 无法生成基于 HTML 的 PDF。但是您可以渲染视图并使用其他库将其转换为 PDF。我用TCPDF 做过这样的事情。下面的小代码sn-p:

        //SomeController.php
        $this->_helper->layout->disableLayout();
    
        //set content for view here
    
        // create new PDF document        
        require_once('tcpdf/tcpdf.php');
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
    
        //whole TCPDF's settings goes here
    
        $htmlcontent = $this->view->render('recipe/topdf.phtml');
        // output the HTML content
        $pdf->writeHTML($htmlcontent, true, 0, true, 0);
        $pdf->lastPage();
        $pdf->Output("pdf-name.pdf", 'D');
    

    【讨论】:

    • 您是否有机会更详细地介绍 somecontroller.php 的示例,以及“在此处设置内容以供查看”中的内容?谢谢!
    • @joren 这与在 ZF 中创建普通控制器的方式完全相同:SomeController extends Zend_Controller_Action。与视图相同:$this->view->foo = 'bar'。整个技巧是将页面呈现为普通的 ZF 页面,而不是将其输出到屏幕上,您将其捕获到变量 $htmlcontent 并传递给 TCPDF writeHTML() 方法。
    • 谢谢!我最终以不同的方式解决了这个问题,但这有帮助。
    • 喜欢这种方法,但对我不起作用,因为我需要通过 $this->view->entities= $entities 在视图中传递变量第一列...任何提示?
    • 抱歉,这是关于未关闭的标签
    猜你喜欢
    • 2019-10-25
    • 2016-06-07
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2010-12-08
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多