Perl-Html写入PDF

Perl-Html写入PDF,html,perl,pdf,Html,Perl,Pdf,我正在尝试使用包从HTML创建PDF。如果我使用load_文件(html文件),它工作得很好。如果我想写文本而不是html文件,我该如何更改。例如: use PDF::FromHTML; my $pdf = PDF::FromHTML->new( encoding => 'utf-8' ); $pdf->load_file('source.html'); $pdf->convert; $pdf->write_file('target.pdf'); 它从sourc

我正在尝试使用包从HTML创建PDF。如果我使用load_文件(html文件),它工作得很好。如果我想写文本而不是html文件,我该如何更改。例如:

use PDF::FromHTML;

my $pdf = PDF::FromHTML->new( encoding => 'utf-8' );
$pdf->load_file('source.html');
$pdf->convert;
$pdf->write_file('target.pdf');
它从source.html获取html并创建PDF。如果我想要这样的文本,该怎么办:

use PDF::FromHTML;
my $pdf = PDF::FromHTML->new( encoding => 'utf-8' );
$pdf->load_file('<h1>Hello World</h1>');
$pdf->convert;
$pdf->write_file('target.pdf');
使用PDF::FromHTML;
我的$pdf=pdf::FromHTML->new(编码=>'utf-8');
$pdf->load_文件(“Hello World”);
$pdf->convert;
$pdf->write_文件('target.pdf');
非常感谢您提供的任何参考或建议。

如您所建议的,对您的html使用标量参考

use strict;
use warnings;
use autodie;

use PDF::FromHTML;

my $data = do {local $/; <DATA>};

my $pdf = PDF::FromHTML->new( encoding => 'utf-8' );
$pdf->load_file(\$data);
$pdf->convert;
$pdf->write_file('target.pdf');

# Start Fresh each time
BEGIN { unlink 'target.pdf'; }

__DATA__
<html>
<body>
    <h1>Hello world</h1>
    <p>From data block.</p>
</body>
</html>
使用严格;
使用警告;
使用自动模具;
使用PDF::FromHTML;
my$data=do{local$/;};
我的$pdf=pdf::FromHTML->new(编码=>'utf-8');
$pdf->加载文件(\$data);
$pdf->convert;
$pdf->write_文件('target.pdf');
#每次都要重新开始
开始{unlink'target.pdf';}
__资料__
你好,世界
来自数据块


我收到了这个错误<代码>无法粘贴在C:/Perl/site/lib/PDF/FromHTML/Twig.pm第105行的root之前。在C:/Perl/site/lib/PDF/FromHTML.pm第141行。我之前已经尝试过了。。它只是给出了相同的错误消息..:(@chinna_82)有两种可能的选择。你没有最新版本的模块,
PDF::FromHTML
PDF::FromHTML::Twig
。或者你正在用这里演示的最基本示例以外的数据进行测试。如果是前者,则是升级的时间。如果是后者,则共享你的实际测试数据。回答不错