2024年PHP开发者大会日本站

fdf_create

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

fdf_create创建新的FDF文档

描述

fdf_create(): 资源

创建一个新的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");
?>

参见

添加备注

用户贡献的笔记 4条笔记

jwadhwani at pobox dot com
18年前
对于fdf_save,您需要提供完整路径,例如:fdf_save($outfdf,"c:/inetpub/wwwroot/temp_sites/fdf/outtest.fdf");而不仅仅是outtest.fdf。
Punkisdead
21年前
<?php
$outfdf
= fdf_create();
$volume = "test";
fdf_set_value($outfdf, "volume", $volume, 0);

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

?>

这适用于IE 5.5+

它将填充字段并为您打开生成的pdf,无需创建fdf文件并将打开脚本添加到pdf…
Sergei
21年前
我认为以下内容可能会为某些人节省大量时间。上面的示例fdf代码片段,即

<?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");
?>

在IE中将无法工作(或者至少很有可能无法工作)(版本6肯定,我怀疑较低版本也是如此),如果您打开了session.auto_start。显然,在将fdf提供给浏览器之前设置cookie会以某种方式将其弄乱。不过,它在Netscape中运行良好。在我找到某个地方关于其他人遇到相同问题的帖子之前,我在Google上搜索了好几天。

解决方案?好吧,我在web树中创建了一个单独的目录,并且仅针对该目录关闭了session.auto_start,如下所示

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

希望这对某些人有用。
mlarke at nanuc dot ca
21年前
Header("Content-type: application/vnd.fdf"); 在IE中根本不起作用。自动加载fdf文件的 easiest 方法是通过php打开'pdf'文件。使用Acrobat
文档 -> 页面操作 -> 页面打开 -> 添加 -> javascript
并将以下内容粘贴到pdf文件中

this.importAnFDF("my_fdf_file.fdf");

这将自动加载fdf内容
干杯迈克
To Top