Обслуживание объединенного 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 всегда используйте полный путь.