簡體   English   中英

使用PHP創建PDF,而無需使用PHP的FDF函數

[英]using PHP to create PDF, without using PHP's FDF functions

有什么方法可以在PHP中創建FDF文件而無需使用無效的FDF函數? 我知道您可以使用pdftk現有 FDF文件創建PDF,但是我需要首先使用一個字段值集創建FDF文件。

或者,是否有一種方法在允許用戶下載之前使用PHP在PDF中設置一個字段(跳過FDF文件的創建)?

對於它的麻煩,我嘗試使用fopen在PHP中創建FDF文件-不起作用。 我也知道pdftk有一個generate_fdf操作,但這不允許我設置特定的值,至少我看不到。

有人知道答案可能是什么嗎? 我很困。 不幸的是,我無法控制告訴客戶端放棄完整的PDF(而是使用網絡表單)。

使用PDFTK,您需要兩件才能完成拼圖。 首先,您需要FDF和數據,其次是帶有適當命名的表單字段的原始PDF。 PDFTK將數據合並到PDF中。

要回答FDF問題,請首先查看這篇出色的文章, 網址為http://koivi.com/fill-pdf-form-fields/ ,其中還包括一種有助於生成FDF的方法。

將FDF與數據一起使用后,即可使用PDFTK的fill_form函數

您可以使用passthru()而不是readfile($ temp_file)來使文檔保持可編輯狀態,並使用“ output-”參數輸出到stdout而不是文件名。 同樣重要的是避免強制處理文件。 如果您嘗試強制下載文件而不是在瀏覽器中打開文件,則最終將導致無法編輯和無法保存的混亂。

例:

header("Content-type:application/pdf");
passthru("pdftk ".$original." fill_form ".$fdf." output -");
die();

這將使用Reader插件在瀏覽器中將其打開。 然后,您將能夠編輯和打印填寫的表單字段,但是我仍然沒有找到一種方法來保存帶有更改的副本。 我目前正在追逐Adobe銷售以尋求其他選擇。

如其他地方所述,請勿使用PDFTK的選項“ flatten”。

原始PDF不得包含任何密碼。

如果我理解正確,那么您只是不想使用FDF庫?

您是否嘗試過TCPDF? http://www.tcpdf.org/

如果要將現有的PDF文件用作模板並僅添加一些值,請使用擴展了FPDI的TCPDF: http : //www.setasign.de/products/pdf-php-solutions/fpdi/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM