Zend framework2 如何将PdfModel保存到Zend Framework 2中的文件?

Zend framework2 如何将PdfModel保存到Zend Framework 2中的文件?,zend-framework2,dompdf,Zend Framework2,Dompdf,我使用ZF2和DOMPDFModule\View\Model\PdfModel生成pdf。当它显示为一个视图时,一切都很好,但我无法找到如何将其保存到代码中的文件中,而不询问用户有关下载的信息。 我有这样的代码: use DOMPDFModule\View\Model\PdfModel; $viewModel = new PdfModel($variables); $viewModel->setTemplate('pos/stocklist/' . $type); $viewModel-

我使用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');
我尝试以这种方式执行此操作,但渲染方法不存在:

$output = $viewModel->render();
$handle = fopen($file_path.DIRECTORY_SEPARATOR.$file_name , 'w');
fwrite( $handle,$output );
fclose( $handle );
感谢您的帮助。

上的示例显示了从控制器操作返回的$viewModel。另外,您已经指定的文件名选项应该强制下载文件,而不是在浏览器中显示


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

我的情况与原始海报类似。我需要从另一个视图不存在的模型中渲染PDF。您知道是否有一种方法可以手动调用它,这样我们就可以生成PDF并将其保存到文件中,而无需使用视图/控制器?是的,您可以使用服务管理器获取视图渲染器,然后手动渲染视图,类似于本文给出的答案。您需要的不是从服务管理器获取viewrenderer,而是ViewPdfRenderer。