2012-03-12 12 views
0

EDIT:CAMを使用してブラウザにマージされたPDFをサービング:: PDFライブラリ

私は再び私の質問を変更:

を私はPDFファイルを操作するthisライブラリを使用しています。

は、私は、ブラウザへの出力を提供するために、このコードを使用しています:

#!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->output();コマンドの前に$pdf->clean();を追加する必要がありました、そして、それは完璧に動作します。 :)

答えて

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文は常にフルパスを使用します。

+0

こんにちは。ありがとう。このコードはCDから実行する必要があり、ローカルコンピュータに書き込まないようにする必要があります。ですから、%TEMP%フォルダのフォルダや別のソリューションを使用する方法を見つけたいと思います。自分でフォルダを作成することはできません。 – Yaron

+0

ありがとうございました...私は間違ったコードを投稿しました、それは正しいものです – Yaron

関連する問題