0

编辑:

我再次改变了我的问题:

我正在使用这个库来操作 PDF 文件。

我正在使用此代码将输出提供给浏览器:

#!perl
use strict;
use warnings;

use lib "..\\mymodules\\CAM-PDF-1.57\\lib";

use CAM::PDF;
my $pdf = CAM::PDF->new('doc1.pdf');

# append the other file
my $anotherpdf = CAM::PDF->new('doc2.pdf');

$pdf->appendPDF($anotherpdf);

print "Content-Type: application/pdf\n";
print "Content-Disposition: inline\n\n";

print "Content-Transfer-Encoding: binary\n";
print "Accept-Ranges: bytes\n\n";

$pdf->output();

结果:

我只得到浏览器中加载的第一个 pdf 文件。

问题解决了:

我必须$pdf->clean();在命令之前添加$pdf->output();,它工作得很好。:)

4

1 回答 1

0

您说没有 TEMP 变量,但是您的代码使用它:

$pdf->cleanoutput($ENV{"TEMP"} . '\\out1.pdf');

尝试将其设置为某个值(我假设您使用的是 Windows)

$ENV{'TEMP'}='c:\tmp';
mkdir($ENV{'TEMP'});
die "$ENV{'TEMP'} not exists" if ! -d $ENV{'TEMP'};
$pdf->cleanoutput($ENV{"TEMP"} . '\\out1.pdf');

为什么在某些路径中使用 //?喜欢:使用 lib "..\mymodules\CAM-PDF-1.57\lib"; 在使用 lib 语句中始终使用完整路径。

于 2012-03-13T07:33:56.240 回答