2013-03-26 90 views
1

我想使用perl + PDF :: API2在我的網站上生成一些pdf文檔。
使用perl生成pdf

1)閱讀PDF模板
2)一些數據添加到模板
3)保存文件到硬盤
4)讀取新的文件
5)打印到用戶的瀏覽器

#!/usr/bin/perl 

use strict; 
use PDF::API2; 

my $p = PDF::API2->open('/way/to/input/pdf.pdf'); 
my $font = $p->ttfont('/way/to/font.ttf', -encode => 'utf8'); 
my $page = $p->openpage(1); 
my $text = $page->text(); 
$text->font($font,12); 
$text->translate(150,150); 
$text->text('Hello world!'); 
$p->saveas('/way/to/out/pdf.pdf'); #ex: '/usr/local/www/apache22/data/docs' 

my $fileContent; 
open(my $file, '<', '/way/to/out/pdf.pdf') or die $!; 
binmode($file); 
{ 
    local $/; 
    $fileContent = <$file>; 
} 
close($file); 

binmode STDOUT; 
print "Content-type: application/pdf\n\n"; 
print $fileContent; 
exit; 

如何在不將臨時PDF存儲在/ way/to/out /文件夾(r/w可訪問)的情況下執行此操作?

回答

8

參見the documentation for PDF::API2;在它描述了您正在使用的saveas方法後,它立即顯示如何使用stringify方法,該方法按您的要求進行。

$text->text('Hello world!'); 
binmode STDOUT; 
print "Content-type: application/pdf\n\n"; 
print $p->stringify(); 
exit; 
+0

謝謝,解決了。版主可以關閉這個問題 – Suic 2013-03-26 14:03:11