Perl Catalyst::View::Wkhtmltopdf使用模板创建错误

Perl Catalyst::View::Wkhtmltopdf使用模板创建错误,perl,pdf-generation,catalyst,Perl,Pdf Generation,Catalyst,我正在使用Catalyst::View::Wkhtmltopdf,但问题越来越严重, 找到错误了吗 Caught exception in wealthe::View::Wkhtmltopdf->process "Void-input at /usr/local/share/perl5/Catalyst/View/Wkhtmltopdf.pm line 98." 当检查发现模板有问题时,我在myapp.pm中添加了以下配置 'View::Wkhtmltopdf' => { co

我正在使用Catalyst::View::Wkhtmltopdf,但问题越来越严重, 找到错误了吗

Caught exception in wealthe::View::Wkhtmltopdf->process "Void-input at /usr/local/share/perl5/Catalyst/View/Wkhtmltopdf.pm line 98." 
当检查发现模板有问题时,我在myapp.pm中添加了以下配置

 'View::Wkhtmltopdf' => { command => '/usr/local/bin/wkhtmltopdf',
                             tmpdir => '/usr/tmp',
                             tt_view => 'TT', 
                           }
视图下的模板名称为TT.pm,且TT.pm呈现正确, 我已将Wkhtmltopdf.pm文件置于视图下,包含以下内容

package myapp::View::Wkhtmltopdf; 
use Moose; 
extends qw/Catalyst::View::Wkhtmltopdf/; 
PACKAGE->meta->make_immutable(); 

还有什么我需要的来让它工作。

最简单的方法之一是创建一个(非常简单的)HTML页面,然后将其转换为PDF:

它需要最少的PDF知识


另一个模块可以动态创建PDF,但它们要复杂得多:

我在CPAN上使用PDF编写perl模块的经验是,每个选项都是:

  • 非常简单,但只能进行非常基本的输出
  • 功能齐全,能够进行专业的PDF输出,但非常复杂,需要对PDF内部结构有相当深入的了解
我们放弃了

我们没有尝试从零开始使用perl以本机方式生成PDF,而是通过使用Template Toolkit构建要呈现为PDF的页面(在大多数情况下,使用不同的包装器重用现有模板)来解决这个问题,并使用优秀的工具来处理到PDF的转换


从那时起,它就变得更简单了。

。。使用此链接您对TT.pm渲染的重复引用与我有关。模板通常是由模板工具箱引擎解释的.tt或.tt2文件。如果C::V::Wkh需要一个.tt文件,但没有得到它,这也许可以解释为什么它报告无效输入?在myapp/View文件夹中,我有一个tt.pm,其内容是包myapp::View::tt;严格使用;使用base'Catalyst::View::TT';包->配置(模板_扩展=>'.tt');这就是你说的模板文件吗?我的.tt文件位于root/templates文件夹中。你能说应该在配置中添加哪个模板文件吗?我使用的是Catalyst::View::Wkhtmltopdf,但问题越来越严重,在wealthe::View::Wkhtmltopdf->处理“Void input at/usr/local/share/perl5/Catalyst/View/Wkhtmltopdf.pm第98行”时捕获了错误异常。选中后,发现模板存在一些问题,我添加了以下代码“View::Wkhtmltopdf'=>{command=>'/usr/local/bin/Wkhtmltopdf'”,#通过File::Spec猜测默认情况下tmpdir=>'/usr/tmp',#模板视图的名称,“TT”默认情况下tt_view=>'tt',模板名称为tt.pm,在视图下您的模板是否可以在浏览器中渲染?请首先确保工作正常,然后通过WKHTMLOTPDFYEP重新路由tt.pm正在渲染的WKHTMLOTPDF.pm文件,我已在视图下创建了WKHTMLOTPDF.pm文件,其中包含以下内容包wealthe::view::Wkhtmltopdf;use Moose;extends qw/Catalyst::View::Wkhtmltopdf/;PACKAGE->meta->make_immutable();并且在myapp.pm中添加了配置包->配置('View::Wkhtmltopdf'=>{command=>'/usr/local/bin/Wkhtmltopdf',#通过File::Spec默认情况下tmpdir=>'/usr/tmp',#模板视图的名称,“TT”默认情况下,tt_view=>'tt',},);还有什么我需要做的吗?您应该更新原始问题并在那里显示代码,以便可读。您的注释中的内容不足以帮助您调试问题。