उत्पन्न करने के लिए मैं मूल रूप से PHP में एक पीडीएफ भरने विधि है कि मैं वास्तव में पसंद खोजने में असमर्थ था निम्नलिखित कोड का इस्तेमाल किया। इसके बजाय, मैं एक्सएफडीएफ उत्पन्न करने के लिए PHP का उपयोग करता हूं, फिर मैं इसे भरने योग्य पीडीएफ में धक्का देने के लिए pdftk का उपयोग करता हूं। (ध्यान दें कि यह कोड नाम दिया जा करने के लिए अपने पीडीएफ क्षेत्रों की आवश्यकता है।)
यहाँ एक साहचर्य सरणी से XFDF उत्पन्न करने के लिए एक उदाहरण समारोह है:
function forge_xfdf($file,$info,$enc='UTF-8'){
$data='<?xml version="1.0" encoding="'.$enc.'"?>'."\n".
'<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">'."\n".
'<fields>'."\n";
foreach($info as $field => $val){
$data.='<field name="'.$field.'">'."\n";
if(is_array($val)){
$data.='<</T('.$field.')/V[';
foreach($val as $opt)
$data.='<value>'.$opt.'</value>'."\n";
}else{
$data.='<value>'.$val.'</value>'."\n";
}
$data.='</field>'."\n";
}
$data.='</fields>'."\n".
'<ids original="'.md5($file).'" modified="'.time().'" />'."\n".
'<f href="'.$file.'" />'."\n".
'</xfdf>'."\n";
return $data;
}
फिर, मुझे लगता है कि XFDF एक अस्थायी फ़ाइल के लिए लिखें।
$empty_form = '/path/to/fillable/pdf/form.pdf'
$fdf_filename = tempnam(PDF_TEMP_DIR, 'fdf');
$output_filename = tempnam(PDF_TEMP_DIR, 'pdf');
$fdf_data = forge_xfdf($empty_form, $data, 'UTF-8');
if($fdf_fp = fopen($fdf_fn, 'wb')){
fwrite($fdf_fp, $fdf_data);
fclose($fdf_fp);
$command = '/usr/local/bin/pdftk "'.$empty_form.'" fill_form "'.$fdf_filename.'" output "'.$output_file.'" dont_ask';
passthru($command);
// SEND THE FILE TO THE BROWSER
unlink($output_file);
unlink($fdf_filename);
}
आप कर तो गैर-संपादन योग्य पीडीएफ चाहते हैं, शब्द dont_ask
से पहले आदेश में शब्द flatten
जोड़ें।
आप एक PDF फार्म भरने से जुड़ी नहीं कर रहे हैं, तो आप के रूप में अच्छी HTML में प्रपत्र उत्पन्न कर सकता है, तो dompdf का उपयोग HTML से पीडीएफ कन्वर्ट करने के लिए।
स्रोत
2013-03-12 20:06:57
मैंने देखा है कि अधिकांश पीडीएफ पुस्तकालयों में यह सुविधा नहीं है। एक Google खोज ने हालांकि यह खुलासा किया: http://www.quickpdflibrary.com/faq/render-a-pdf-document-and-include-editable-form-fields.php –
धन्यवाद मैट। मुझे यह देखने दो। –