1

我想使用 perl + PDF::API2 在我的网站上生成一些 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/ 文件夹(可读写)的情况下做到这一点?

4

1 回答 1

8

请参阅PDF::API2 的文档;在它描述了saveas您正在使用的方法之后,它立即显示了如何使用该stringify方法,它可以满足您的需求。

$text->text('Hello world!');
binmode STDOUT;
print "Content-type: application/pdf\n\n";
print $p->stringify();
exit;
于 2013-03-26T13:59:46.957 回答