2013-03-04 105 views
0

im使用FPDF脚本填充形成FPDF-合并错误()

为了填补使用PHP阵列PDF形式。一切工作正常与模板PDF,但是当我做一个自定义模板“可填充”,并尝试填充它,我得到以下错误。

FPDF-Merge Error: startxref tag expected, read 0000000843 00000 n 

我不知道这是什么意思,我在Google上找不到任何关于“startxref”的内容。请帮忙。

在此先感谢

编辑:这是我的模板pdf。我使用acrobat 8​​ Pro添加了表单。Mac Pro http://devinblackwell.info/files/documents/flag-app.pdf

+0

你应该为自己保留你的尝试。我会检查我的魔法水晶球来查看你的模板。 – 2013-03-04 18:09:16

+0

如果您搜索'[php] startxref',那么有12个结果。你看过他们吗? (http://stackoverflow.com/search?q=%5Bphp%5D%20startxref) – 2013-03-04 18:14:16

+1

欢迎来到SO!作为一般规则,它始终是**的好主意,可以发布你的代码,你已经尝试了什么,或者展示你已经完成的研究。我们没有规定你在这里为你工作,但很乐意帮助你找到解决方案。 – Brian 2013-03-04 18:28:25

回答

0

我赢了!

我终于选择了忘记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。 (我让你知道如何,这很容易)