[PHP-users 2349] PDF出力とIE5.5

FUJIMOTO Yoshihiko php-users@php.gr.jp
Sat, 29 Sep 2001 21:38:32 +0900


 こんばんは。
 いつも参考にさせていただいております。藤本です。

 Internet Explorer(以下、IE)の Version 5.5 のみで、PDF
出力がうまくできないので、相談させてください。

 サーバ側環境は、下記のとおりです。

         OS : Linux
 PostgreSQL : 7.1.1
     apache : 1.3.20
        PHP : 4.0.6
     pdflib : 3.03

 下記のソースを使いました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
$pdf=pdf_new();

if(!pdf_open_file($pdf,"")){
	print error;
	exit;
}

pdf_set_info($pdf,"Author","hoge");

//◆01ページ目開始
pdf_begin_page($pdf,$pageWpix,$pageHpix);
 →$pageWpix、$pageHpix はA4縦相当に計算済です。

...描画...

//◆01ページ終了
pdf_end_page($pdf);

//◆02ページ目開始
pdf_begin_page($pdf,$pageWpix,$pageHpix);

...描画...

//◆02ページ終了
pdf_end_page($pdf);

//◆ドキュメントクローズ
pdf_close($pdf);

//◆ブラウザへの出力処理
mb_http_output("pass");

$buf=pdf_get_buffer($pdf);
$len=strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=TOHOHO.pdf");
print $buf;

pdf_delete($pdf);
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 最初は、IE の Version 5 でも全く表示できなかったりの状態だ
ったのですが、マニュアル、過去記事の検索等で上のソースまでた
どりつき、IE 5ではインラインで表示させることができる様になり
ました。

 しかし、IE 5.5 では、読み込んだ瞬間に、スティタスバーに
「この文書を表示する時にエラーが発生しました」とメッセージが
出るのみで、白いページのままとなります。

 テストしてみた環境は、以下のとおりです。
(NN は Nescape Navigator です)
(IEの後の数字は、バージョン情報で表示される番号です)
(Acrobat Reader のバージョンはすべて4.0です)

マシン1
 Windows 2000 SP1 + NN 4.73            → OK
 Windows 2000 SP1 + IE 5.00.3103.1000  → OK
マシン2
 Windwos 98SE     + NN 4.70            → OK
 Windows 98SE     + IE 5.00.2919.6307  → OK
マシン3
 Windwos 98SE     + NN 4.75            → OK
 Windows 98SE     + IE 5.50.4134.0600  → NG

 IE 6 は手元に無いので、確認していないのですが、IE の5.5 以
降、出力の際に何か別な書き方をしなければならないのでしょうか?。

 どなたか、同様の現象に会われた方はいらっしゃいませんか?。

 ご教授願います。

############################################################