使用perl生成pdf

时间:2013-03-26 13:56:20

标签: perl security pdf

我想使用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)的情况下执行此操作?

1 个答案:

答案 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;