PERL を使用してブラウザで PDF をレンダリングすることは可能ですか? 私が持っているのは、レンダリングされた pdf バイナリを perl に送信するフラッシュ アプリケーションです。PDFはAlivePDFから生成されます。
#!C:\Perl\bin\perl.exe
##
BEGIN { $ENV{PATH} = ''; delete @ENV{ 'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; }
use strict;
use warnings;
no warnings qw (redefine closure);
use CGI;
my $CGI = new CGI();
#name=generated.pdf&method=inline these are passed via the URL and are in the environmental variable QUERY_STRING
my %nv_pairs = map{my @tmp = split(/=/,$_);$tmp[0] => $tmp[1] }split(/&/,$ENV{QUERY_STRING});
my $name = $nv_pairs{name};
my $method = $nv_pairs{method};
#Raw Data is stored in the POST Parameter POSTDATA
my $pdf = $CGI->param('POSTDATA');
print "Content-Type: application/pdf\r\n";
print "Content-Length: " . length($pdf) . "\r\n";
print "Content-Disposition :$method\n\n";
print $pdf;
問題は、pdfがどのように見えるかを実際にレンダリングしたいということです。そのバイナリ コードを保存して、Adobe Reader で手動で開くと、適切にレンダリングされます。
ブラウザでレンダリングしたいのですが、どうすればよいのかわかりません。
現在、出力 (ブラウザーに表示されるもの) は次のようになります。
Content-Type: application/pdf
Content-Length: 432785
Content-disposition:inline; filename="test.pdf"
%PDF-1.5
1 0 obj
<</Type /Pages
/Kids [3 0 R 5 0 R]
/Count 2>>
endobj
3 0 obj
<</Type /Page
/Parent 1 0 R
/MediaBox [0 0 612.00 792.00]
/Resources 2 0 R
これは表示されたファイルの一部にすぎませんが、お役に立てば幸いです。コードを表示するのではなく、グラフィカルに見せたいのです。このファイルをダウンロードして、拡張子を .pdf に変更すると、完全に機能します。