對於 fdf_save,您需要提供完整路徑,例如:fdf_save($outfdf,"c:/inetpub/wwwroot/temp_sites/fdf/outtest.fdf"); 而不仅仅是 outtest.fdf。
(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)
fdf_create — 建立新的 FDF 文件
此函式沒有參數。
傳回一個 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_save,您需要提供完整路徑,例如:fdf_save($outfdf,"c:/inetpub/wwwroot/temp_sites/fdf/outtest.fdf"); 而不仅仅是 outtest.fdf。
<?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 中...
我認為以下內容可能會為某人節省很多時間。 上面的範例 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");
?>
如果您開啟了 session.auto_start,這段程式碼在 IE 瀏覽器(版本 6 確定會,我懷疑更低版本也會)中將無法正常運作(或者至少很有可能無法正常運作)。顯然地,在將 fdf 資訊傳送給瀏覽器之前設定 cookie 會以某種方式干擾它。但在 Netscape 瀏覽器中卻可以正常運作。我在 Google 上搜尋了好幾天,才在某處找到一篇關於其他人遇到相同問題的文章。
解決方案?嗯,我在網站目錄樹中建立了一個單獨的目錄,並僅針對該目錄關閉 session.auto_start,如下所示:
<Location /new_directory>
php_admin_flag session.auto_start 0
</Location>
希望這對某些人有所幫助。
Header("Content-type: application/vnd.fdf"); 在 IE 瀏覽器中根本無法正常運作。自動載入 fdf 檔案最簡單的方法是透過 PHP 開啟「pdf」檔案。使用 Acrobat:
文件 -> 頁面動作 -> 頁面開啟 -> 新增 -> JavaScript
並將以下程式碼貼到 pdf 檔案中:
this.importAnFDF("my_fdf_file.fdf");
這將會自動載入 fdf 內容
麥克敬上