PHP 8.4.0 RC4 available for testing

fdf_create

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_create新規 FDF ドキュメントを作成する

説明

fdf_create(): resource

新規 FDF ドキュメントを作成します。

この関数は、PDF ドキュメントの入力フィールドにデータを書きこみたい場合に必要です。

パラメータ

この関数にはパラメータはありません。

戻り値

FDF ドキュメントハンドル、あるいはエラー時に false を返します。

例1 PDF ドキュメントを公開する

<?php
$outfdf
= fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

参考

  • fdf_close() - FDF ドキュメントを閉じる
  • fdf_save() - FDF ドキュメントを保存する
  • fdf_open() - FDF ドキュメントをオープンする

add a note

User Contributed Notes 4 notes

up
0
jwadhwani at pobox dot com
18 years ago
For fdf_save you need to provide the complete path, such as :fdf_save($outfdf,"c:/inetpub/wwwroot/temp_sites/fdf/outtest.fdf"); and not only outtest.fdf.
up
0
Punkisdead
21 years ago
<?php
$outfdf
= fdf_create();
$volume = "test";
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http://localhost/webapps/volume.pdf");
Header("Content-type: application/vnd.fdf");
fdf_save($outfdf);
fdf_close($outfdf);

?>

This works for IE 5.5+

It will populate the fields and open the resulting pdf for you, without having to create an fdf file and adding the open script to the pdf...
up
0
Sergei
21 years ago
I thought the following might save someone a lot of time. The example fdf snippet above, namely:

<?php
$outfdf
= fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

will not work (or there's at least a big possibility it won't) in IE (version 6 sure and I suspect lower versions as well) if you have session.auto_start on. Apparently, setting a cookie before feeding the fdf to the browser somehow messes it up. It works fine in Netscape though. I spent days on Google before I found a post somewhere about someone else having the same problem.

The solution? Well, I created a separate directory in the web tree and turned session.auto_start off just for that directory like this:

<Location /new_directory>
php_admin_flag session.auto_start 0
</Location>

Hope this was useful to somebody.
up
-2
mlarke at nanuc dot ca
21 years ago
Header("Content-type: application/vnd.fdf"); simply does not work in IE. The easiest method to automatically load the fdf file is to open the 'pdf' file via php. With use of Acrobat
document -> page action -> page open -> add -> javascript
and paste the following into the pdf file:

this.importAnFDF("my_fdf_file.fdf");

This will auto-load the fdf contents
Cheers Mike
To Top