[PHP-users 547] FDF関数について
Masaki YATSU
php-users@php.gr.jp
Wed, 4 Jul 2001 21:04:22 +0900
やつです。
現在、
サーバ :
Red Hat Linux 6.1 or TurboLinux Server 6.1
Apache 1.3.19 + mod_ssl-2.8.1
PHP 4.0.5 + jstring1.1.1 + mbregex-1.2.1
FdfTk 4.05(fdftk4_05_C.tar.Z)
クライアント :
Windows 2000
IE 5.5
Acrobat 5.0
という環境で、FDF関数を利用しようと、フォームから受け取った
値($value)を処理する以下のようなコードを書きました。
--- ここからコード ---
$value = jstr_convert_encoding($value, "SJIS", "EUC");
$outfdf = fdf_create();
fdf_set_value($outfdf, "value", $value, 0);
fdf_set_file($outfdf, "http://foo/bar/test.pdf");
fdf_save($outfdf, "test.fdf");
fdf_close($outfdf);
jstr_http_output("pass");
Header("Content-type: application/vnd.fdf");
//Header("Content-type: text/html");
$fp = fopen("test.fdf", "r");
fpassthru($fp);
unlink("test.fdf");
--- ここまで ---
上記のコードを使った場合、2点ほどわからない点があります。
** その1.
Header()以降の処理で、クライアント側のWebブラウザではAcrobat
やAcrobat Readerを起動させ、test.pdfを表示させたいのですが、
「ファイルが壊れています。修復できませんでした。」
というメッセージが出て表示できません。
最後の行にunlink()をコメントアウトし、サーバ側に作成された
test.fdfを直接Webブラウザで見ると、一応test.pdfのフォームに
は$valueが入っています。きちんとAcrobatやAcrobat Readerで表
示させるためには、どうすればよいのでしょうか?
** その2.
test.fdfを直接Webブラウザで表示させようとすると、きちんと
Acrobatが起動し、test.pdfにtest.fdfの内容を差し込んでいるの
ですが、$valueが日本語の場合、文字化けして表示されてしまいま
す。文字化けしないようにするには上記コードをどう修正すれば良
いのでしょうか?
以上2点について、何か情報をお持ちの方がいらっしゃいましたら、
教えてください。
--
Masaki YATSU
yatsu@softstate.co.jp