2014-07-08 5 views
0

PDF::FromHTML 패키지를 사용하여 HTML에서 PDF를 작성하려고합니다. 그것은 load_file (HTML 파일)을 사용하면 잘 작동합니다. html 파일 대신 텍스트를 쓰고 싶다면 어떻게 바꿀 것인가? 예를 들면 다음과 같습니다.Perl - Html PDF로 작성

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'); 

모든 참조 또는 조언은 높이 평가됩니다.

답변

1

PDF::FromHTML에서 알 수 있듯이, 당신의 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> 
+0

나는이 오류를 받고 있어요 스칼라 참조를 사용합니다. 'C : /Perl/site/lib/PDF/FromHTML/Twig.pm 행 105에C : /Perl/site/lib/PDF/FromHTML.pm 줄 141에'root '앞에 붙여 넣을 수 없습니다.' –

+0

@ chinna_82 '\ $ input'을 사용할 때 작동합니까? –

+0

필자는 이전 버전과 같은 오류 메시지를 보냈습니다. :( –