[PHP-users 13688] Re: FDFでのブラウザ表示について

Kiyoshi Sawada php-users@php.gr.jp
Mon, 03 Mar 2003 20:40:02 +0900


沢田です。

あと、やってみることは、
(1) 元PDFをHeader関数を使ってそのまま出力してみる(これはOKでしたっけ?)。
こんな風かな?
<?php
  Header("Content-type: application/vnd.fdf");
  $fp = fopen("http://hoge/test/test.pdf","r");
  fpassthru($fp);
?>

(2) phpのエラーログにはテストプログラム実行時のエラーは出ていませんか?


On Mon, 3 Mar 2003 17:19:20 +0900  017102 熊谷 悟 <satoru_kumagai@mjs.co.jp> wrote:

> はじめてご質問させていただきます.
> 
> 今回,Software Designの2002-1月号のFDFを使用した
> PDF出力の記事を参考に以下の環境でテストを行いました.
> 
> サーバ
> WinNT4.0
> Apache-1.3.26
> PHP 4.2.2
> FDFToolkit 5.0
> Win32環境でFDFを使用するための設定は,マニュアルページを参考に
> 設定済み.
> 
> php.iniのmbstringの内容
> [mbstring]
> mbstring.internal_encoding = EUC-JP
> ;mbstring.http_input = auto
> mbstring.http_output = SJIS
> ;mbstring.detect_order = auto
> ;mbstring.substitute_character = none;
> 
> クライアント
> WinNT4.0
> IE 5.0
> Acrobat 5.0
> 
> ソース
> <?php
> 	$fdf = fdf_create();
> 	fdf_set_encoding($fdf,"Shift-JIS");
> 	
> 	$txt1 = "hoge";
> 	$txt2 = "hoge2";
> 	
> 	$interenc = mb_internal_encoding();   //EUC-JPになっています.
> 	mb_convert_variables("SJIS",$interenc,$txt1,$txt2);
> 
> 	fdf_set_value($fdf,"txt1",$txt1,0);
> 	fdf_set_value($fdf,"txt2",$txt2,0);
> 
> 	fdf_set_file($fdf,"http://hoge/test/test.pdf");   //Wordを元に作成し
> たテンプレートファイルです.
> 	fdf_save($fdf,"test.fdf");
> 	fdf_close($fdf);
> 	
> 	Header("Content-type: application/vnd.fdf");
> 	$fp = fopen("test.fdf","r");
> 	fpassthru($fp);
> 	unlink("test.fdf");
> ?>
> 
> この状態で実行するとクライアント側では,Acrobatが起動し
> 「ファイルの種類がサポートされていないか壊れている・・・」とAcrobat側の
> メッセージが表示され,ブラウザには表示されません.
> IE 4.0 Acrobat4.0のクライアントから実行すると,ファイルのダウンロードダイア
> ログが
> 出た後,「ファイルの先頭に%PDFがありません」とのメッセージが出ます.
> MLでFDFをキーに検索し,PHP-users 547 FDF関数について等で
> 同様の現象があることを確認しましたが,解決策が私の環境には適用されませんでし
> た.
> 
> エンコードの問題か各種のバージョンの問題かいろいろ調べましたが手詰まり状態で
> す.
> どなたか,経験がある方はアドバイスをお願いします.
> 
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users