首先:这是我的第一个问题然后sry如果代码synthax不容易阅读,不要找到一种方法来使它干净。
我正在尝试填写我用Adobe Creator制作的大PDF模板。
FPDM适用于fpdm lib中包含的template.php,但是在通过pdftk后将PDF模板更改为我的模板时会出现此错误。
FPDF-Merge错误:无法找到注释对象的当前值(/ v) 288,在解析过程中出现问题(解压缩你的pdf和 重试)或你的pdf已损坏。
我在互联网上找不到任何关于此问题的主题。
错误来自我的PDF模板,因为他的编码方式。 我在文本编辑器中打开PDF后看到对象288(和其他)没有/ v属性,如错误所示。然后我想编码方式不是FPDM等待的方式。 在使用pdftk之前,错误是:“PDF是空的”类似的东西。
define('DRUPAL_ROOT', getcwd()); include_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // #1 shouldn't be necessary require_once 'fpdf/src/fpdf.php'; require_once 'fpdf/examples/form_filling/fpdm.php'; // To be used after test win $sid = '58'; $node = new stdClass(); $node->nid = '270'; $temp_submission = webform_menu_submission_load($sid, $node->nid); // NOM is the first field id of my Template PDF. $fields = array( 'NOM' => 'My name' ); $pdf = new FPDM('Dossier_de_candidature_2ndaire_2014_adaptev1_fpdf.pdf'); $pdf->Load($fields, TRUE); $pdf->Merge(); $pdf->Output('formulaire.pdf', 'D'); ?>
谢谢!
答案 0 :(得分:2)
我赢了!
我最终选择忘记FPDF并直接制作我自己的系统,这就是我认为的FPDF。 不要担心这根本不难。
看看这个网站,了解如何工作fdf填写pdf模板(映射)和...做它:)
http://doc.ubuntu-fr.org/pdftk
步骤1:在PhP中创建FDF内容
/* A FDF content empy */
$xfdf_head = '<?xml version="1.0" encoding="UTF-8"?><xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"><fields>';
$xml_data = '';
$xfdf_end = '</fields></xfdf>';
/* Generate all fields with field_key form webform and value form submission */
foreach ($webform['#node']->webform['components'] as $key => $value) {
if ($webform['#submission']->data[$key]['value'][0]){
$valeur = $webform['#submission']->data[$key]['value'][0];
} else {
$valeur = '';
}
$xml_data .= '
<field name="'.$webform['#node']->webform['components'][$key]['form_key'].'">
<value>'.$valeur.'</value>
</field>';
}
$FDF_content = $xfdf_head.$xml_data.$xfdf_end;
第2步:创建FDF文件并在其中编写您的内容
$FDF_file = fopen('new_fdf.fdf', 'w');
fwrite($FDF_file, $FDF_content);
fclose($FDF_file);
第3步:在Php中使用PDFTK命令(检查网站上行)[填写这2个变量之前..]
$pdftk_command = '/usr/bin/pdftk '. $pdf_template .' fill_form new_fdf.fdf output '.$new_fillup_pdf;
shell_exec($pdftk_command);
第4步:强制下载或在PHP中打开新的PDF。 (我让你找到,这很简单)