Обслуживание объединенного PDF в браузере с помощью библиотеки CAM::PDF

РЕДАКТИРОВАТЬ:

Я снова изменил свой вопрос:

Я использую эту библиотеку для манипулирования файлами 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(); Команда, и она отлично работает.:)

1 ответ

Вы сказали, что нет переменной 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 всегда используйте полный путь.

Другие вопросы по тегам