2014-02-04 4 views
0

Я использую Perl s PDF::FromHTML для создания PDF-файла. Мой код выглядит следующим образом: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-файл завершен и выглядит так, как должно выглядеть. Что мне не хватает?

ответ

0

Необходимо указать допустимый шрифт. Второй пример имеет недействительное имя.

Если вы установили PDF :: API2, вы можете попробовать использовать: «Helvetica» в качестве имени шрифта.

Проверьте файл HTML, это должно быть довольно просто (без CSS или javascript).

С уважением,

+0

'Arial' кажется быть допустимым шрифтом, так как с некорректными шрифтами скрипта умирающих с ошибкой' запрошенного шрифтом «Calibri» не installed'. HTML-файл очень прост, просто небольшая таблица с некоторыми ссылками и ссылка на 'css'-файл внутри головы. – Vince

+0

Вы пытались использовать html2pdf.pl http://search.cpan.org/~audreyt/PDF-FromHTML-0.31/script/html2pdf.pl? – user1126070

+0

Нет, у меня нет, и я не думаю, что это полезно, так как код в скрипте в основном такой же, как и мой код. – Vince

Смежные вопросы