【问题标题】:how can I save PdfModel to file in Zend Framework 2?如何将 PdfModel 保存到 Zend Framework 2 中的文件?
【发布时间】:2013-03-27 19:43:27
【问题描述】:

我使用 ZF2 和 DOMPDFModule\View\Model\PdfModel 来生成 pdf。当它显示为视图时,一切都很好,但我不知道如何将其保存到文件中(在代码中,没有询问用户下载)。 我有这样的代码:

use DOMPDFModule\View\Model\PdfModel;

$viewModel = new PdfModel($variables);
$viewModel->setTemplate('pos/stocklist/' . $type);
$viewModel->setOption('paperSize', 'a4');
$viewModel->setOption('paperOrientation', 'portrait');
$viewModel->setOption('fileName', 'stock.pdf');

我试过用这种方式做,但是render方法不存在:

$output = $viewModel->render();
$handle = fopen($file_path.DIRECTORY_SEPARATOR.$file_name , 'w');
fwrite( $handle,$output );
fclose( $handle );

感谢您的帮助。

【问题讨论】:

    标签: zend-framework2 dompdf


    【解决方案1】:

    project's github README page 的示例显示了控制器操作返回的$viewModel。此外,您已经指定的 filename 选项应该强制下载文件而不是在浏览器中显示。

    作者实现了一个视图策略/渲染器,它创建实际的 dompdf 对象并自动为您渲染视图模型,类似于现有的 zf2 行为,因此您不必缩短 MVC 生命周期。

    【讨论】:

    • 我的情况与原始发帖人类似。我需要从视图不存在的另一个模型中呈现 PDF。你知道是否有办法手动调用它,这样我们就可以生成 PDF 并将其保存到文件中,而无需使用视图/控制器?
    • 是的,您可以使用服务管理器获取视图渲染器,然后手动渲染视图,类似于此SO Answer 上给出的答案。而不是从服务经理那里得到viewrenderer,你需要ViewPdfRenderer
    猜你喜欢
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多