2011-07-15 122 views
0

我將傳統的ASP應用程序轉換爲PHP。使用PHP填充PDF表單域

在傳統ASP應用程序中,我們使用名爲ASPpdf的組件編程式填充已在PDF文檔中創建的字段。

我需要在PHP中重現此行爲,但需要知道PHP是否可以自行填充PDF字段或是否需要任何第三方插件。

這個函數可以在PHP中插入或不插入嗎?

謝謝。

注意:我已經創建了PDF,我不需要創建實際的PDF。我需要使用表單字段獲取預先存在的PDF,填充這些表單字段,然後保存該自定義PDF。

+0

PHP的內置的PDF支持非常有限。爲了正確處理PDF,你需要一些外部的東西。我已經使用過很多pdflib(http://pdflib.com),但是許可證很貴。 –

+0

@Marc B只是好奇你爲什麼把這個留作評論而不是答案?這聽起來像一個答案,所以我想知道區別是什麼? –

回答

0

我的問題的解決方案是使用我在新的PHP應用程序中使用經典ASP中使用相同的COM組件。 COM對象使我能夠對PDF文檔進行巨大的控制。

我使用的組件是​​

<?php 

$pdf = new COM("Persits.Pdf") or die("Unable to instantiate Word"); 


$pdfdoc = $pdf->OpenDocument("pdf.pdf"); 
$pdffont = $pdfdoc->Fonts("Helvetica-Bold"); 
$pdfdoc->Form->RemoveXFA(); 

$pdffield = $pdfdoc->Form->FindField("FirstName"); 
$pdffield->SetFieldValue("PHP Text", $pdffont); 

$pdffile = $pdfdoc->save("php.pdf" , false); 

echo $pdf->version; 
$pdf = null; 

?> 
0

它看起來好像pdftk PDF工具包可能是能夠做到這一點。讀取manual

fill_form < FDF data filename | XFDF數據文件名| - | PROMPT>

使用來自FDF文件,XFDF文件或stdin的數據填充單輸入PDF的表單域。 fill_form後輸入數據的文件名,或者使用 - 可通過標準輸入傳遞數據,比如:

PDFTK form.pdf fill_form data.fdf輸出form.filled.pdf