[PHP-users 24034] Re: PDF生成で「ファイルの最初に%PDF-がありません」エラー

ICHIRO ichiro @ wvn.gr.jp
2004年 12月 30日 (木) 00:57:41 JST


宇野様、ならびに皆様のおかげで少し前進しました。
後出しでコードを出すのは申し訳ないのですが・・・
以下、状況です。
★1.宇野様のアドバイスを参考に
header('Cache-Control: public');
header('Pragma: public');
を追加した場合、セッションを利用しなければ表示されるようですが
セッションを利用した場合「ファイルの最初…」のメッセージになります(Mozillaでは表示されます)。※セッション利用は必須となっています。
以下のようなコードになっています。
<?php
session_cache_limiter("private_no_expire");//あるいは"public"
session_start();
以下セッションを利用してPDF生成
header('Cache-Control: public');
header('Pragma: public');
header("Content-Type: application/pdf");
header("Content-Length: " . strlen($buf));
header("Content-Disposition: inline; filename=hoge.pdf");
print($buf);
PDF_delete($p);
?>
★2.POSTで渡さずGETで渡す
上記コードで表示されました。ただ渡しているのが大事な番号なので見えてしまうのは問題となってしまいます。
★3.inlineをattachementに変更する
上記コードの下から3行目を変更しました。ダウンロードは問題なくでき、なぜか2回訊ねられますが「開く」を選択するとReaderで開きます。真っ白なページが残ったままになります。
随分前進したと思うのですが、どなたか以下の点をアドバイスいただけないでしょうか。
■1.の方法を採った場合のセッションを利用できるようにする方法
■3.の方法を採った場合の
a.ダウンロードまたは(Readerで)開くを選んだ際に真っ白なページを自動的に閉じる方法
b.原因が不明で恐縮ですが2回訊ねられるのを1回にする方法

何卒よろしくお願いいたします。

山崎 拝



PHP-users メーリングリストの案内