我想使用perl + PDF :: API2在我的网站上生成一些pdf文档。
1)阅读pdf模板
2)向模板添加一些数据
3)将文件保存到hdd
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)的情况下执行此操作?
答案 0 :(得分: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;