【问题标题】:PDF::FromHTML creates empty PDFPDF::FromHTML 创建空 PDF
【发布时间】:2014-02-28 01:03:46
【问题描述】:

我正在使用 Perls PDF::FromHTML 创建 PDF 文件。我的代码如下所示:

open HTML, ">", "file.html";
...
close HTML;
chmod(0777, "file.html");

my $pdf = PDF::FromHTML->new(encoding => 'utf-8');
$pdf->load_file("file.html") or die $!;

$pdf->convert(
        Font => 'Arial',
        LineHeight => 10,
        Landscape => 1
);

$pdf->write_file("file.pdf") or die $!;

由于一开始我很难创建一个实际的 PDF 文件,所以我现在完全按照 cpan 的概要进行操作,即

my $pdf = PDF::FromHTML->new( encoding => 'utf-8' );

# Loading from a file:
$pdf->load_file('source.html');

# Perform the actual conversion:
$pdf->convert(
    # With PDF::API2, font names such as 'traditional' also works
    Font        => 'font.ttf',
    LineHeight  => 10,
    Landscape   => 1,
);
# Write to a file:
$pdf->write_file('target.pdf');

但是,这会在正确的位置创建一个 PDF 文件,但它只包含一个白页。 HTML 文件是完整的,看起来应该是这样。我错过了什么?

【问题讨论】:

    标签: html perl pdf


    【解决方案1】:

    您需要指定一个有效的字体。第二个示例的字体名称无效。

    如果您安装了 PDF::API2,您可以尝试使用:'Helvetica' 作为字体名称。

    请检查您的 HTML 文件,它应该很简单(没有 CSS 或 javascript)。

    问候,

    【讨论】:

    • Arial 似乎是一种有效字体,因为使用无效字体,脚本将因错误requested font 'calibri' not installed 而死。 HTML-File 非常简单,只是一个带有一些链接的小表格和一个指向头部内css-file 的链接。
    • 不,我没有,而且我认为它没有用,因为脚本中的代码和我的代码基本相同。
    猜你喜欢
    • 2016-08-18
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2017-04-23
    相关资源
    最近更新 更多