[PHP-users 7599] fdfファイルについて

hayashi yuuko php-users@php.gr.jp
Mon, 20 May 2002 16:27:42 +0900 (JST)


はやしと申します。

SoftwareDesignの2002年1月号にPHPのFDF関数を使った
帳票作成のサンプルがありました。これを利用し、作って
みました。

こっちの環境

サーバ:
RedhatLinux7.2
Apache1.3.22
php4.2.0
fdfTK5.0(fdftkv5.tar.gz)
postgre7.1.3

クライアント :
WindowsNT4.0
IE6.0
Acrobat 4.0

---コード---
<?
// fdf file creation
$outfdf = fdf_create();
//encode sepcificaton
fdf_set_encoding($outfdf, "Shift-JIS");
//set expressing data
$kind = "あいうえお";
$variety = "さくら花";
$taste = "いい";
//change word code
$kind = mb_convert_encoding($kind, "SJIS");
$variety = mb_convert_encoding($variety, "SJIS");
$taste = mb_convert_encoding($taste, "SJIS");
//mb_convert_variables("SJIS", "EUC-JP", $kind, $variety,
$taste);
//set data to label
fdf_set_value($outfdf, "kind", $kind, 0);
fdf_set_value($outfdf, "variety", $variety, 0);
fdf_set_value($outfdf, "taste", $taste, 0);
//read original pdf file
fdf_set_file($outfdf, "http://xxx/phptest/Book3.pdf");
//write to fdf file
fdf_save($outfdf, "/tmp/test.fdf");
fdf_close($outfdf);
//html header type set
header("Content-type: application/vnd.fdf");
//fdf file read
$fp = fopen("/tmp/test.fdf", "r");
//fdf file output
fpassthru($fp);
//delete fdf file
unlink("/tmp/test.fdf");
?>
------------

二つの問題があります。

1.PhpでFdfファイルを開くのは出来ませんでした。
Phpを実行すると(http://xxx/phptest/test.php)、
Adobeにエラーメッセージが以下のように出ました。
------------
この文書を開く時にエラーが発生しました。
ファイルの読み取りエラーが発生しました。
------------

でも出来たFdfファイルを.../phptest/にコピーして、直接
Webで開くとき(http://xxx/phptest/test.fdf)、
大丈夫でした。


2.日本語が文字化けになっています。
Webで直接Fdfファイルを見る時、日本語が文字化けに
なっています。文字の数がちゃんと合っていますが、表示
が黒い丸になっています。

fdfファイルの中身を調べました。以下のようです:
----------------------------------
%FDF-1.2
%矣腕^M
1 0 obj
<<
/FDF << /Encoding /Shift-JIS /Fields 2 0 R /F
(http://xxx/phptest/Book3.pdf)>
>
>>
endobj
2 0 obj
[
<< /T (kind)/V
(\202\240\202\242\202\244\202\246\202\250)>> << /T
(variety)/V (\
202\263\202\255\202\347\211\324)>>
<< /T (taste)/V (\202\242\202\242)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF
------------------------------------

これらの問題について、ご存知の方いらっしゃいましたら
ご教授頂きたいと思います。

よろしくお願い致します。

はやし





__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/