我读到有一种方法可以创建/引用一个.FDF文件(用于将数据与PDF表单合并(,该文件中嵌入了要填充的原始PDF的URL,并且可以将特制的URL发送到浏览器,该浏览器将加载Acrobat或将FDF数据与PDF合并的相关程序。
大概是这样的:
http://host/path/original.pdf#FDF=http://host/path/data.fdf
但我做不到。也许原始PDF的路径可以嵌入.FDF文件中?我听说有一种叫做/F键的东西可以使用。有人能给我一个使用它的例子吗?如果有一种特殊的MIME格式需要让浏览器识别文件/合并,它会是什么?
这里有一个FDF文件的例子——我应该把原始的PDF url放在哪里?
%FDF-1.2
%▒▒▒▒
1 0 obj
<</FDF<</F(Stand Alone EE.pdf)/Fields[
<</T(date)/V(07/11/2018)>>
<</T(uname)/V(Jennifer Smith)>>
<</T(pctbefore)/V(35)>>
<</T(aftfee)/V(40)>>
<</T(newclient)/V(Yes)>>
<</T(current_dateplus90days)/V(10/11/2018)>>
<</T(im_url)/V(http://internal_usl_for_something_else)>>
]/ID[<A3715E58793D9B5B9A48E8B2E0E057FF><BCE39B7672548444B7E6606F1B14E048>]/UF(Stand Alone EE.pdf)>>/Type/Catalog>>
endobj
trailer
<</Root 1 0 R>>
%%EOF
我有点放弃了.fdf格式,因为很明显有一个更新的版本,.xfdf可用,但如果任何一种方式都可以,那就太好了。
我还尝试过XFDF格式,如本文所述:https://forums.adobe.com/thread/425699
我在XFDF版本中遇到的问题是,当我单击.XFDF时,它希望在本地保存文件。我检查了一下,以确保在web服务器中设置了mime类型,并且确实如此。但如果我保存.fdf并单击它,它会打开Acrobat,然后尝试在Firefox中打开具有相同URL的文档,然后它会提示我是否要在Acrobat中打开文档,并且它会在Mozilla中不断生成一圈窗口。知道怎么了吗?
这是一个样品。fdf-
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="http://myhost/sample.pdf" />
<fields>
<field name="date"><value>07/11/2018</value></field>
<field name="atty"><value>Jennifer Smith</value></field>
<field name="typeofclaim"><value>Automobile Collision</value></field>
</fields>
</xfdf>
有人看到作文里有错吗?我可能有什么模拟打字问题?我的服务器设置为将.xfdf识别为"application/vnd.adobe.xfdf">
我设置了一个shell脚本来输出mime类型"application/vnd.adobe.xfdf",然后转储上面fxdf文件的内容。浏览器识别它是一个Adobe应用程序,我可以用Acrobat打开它,但后来我得到了这个错误:
Xml parsing error: xml processing instruction not at start of external entity (error code 17) line 2 of file xxxxx.xfdf
知道xml文件中的错误是什么吗?解析器说它是正确的。可以用终止行吗?
我在字段解析中发现的一个问题是,如果表单数据没有封装在某种表示"保持原样"的结构(即CDATA(中,它会对表单数据的内容非常挑剔,因此,例如,如果数据表单字段的括号不平衡,这可能会导致奇怪的错误。
我的修复之一是完全验证表单字段数据。确保每一个左括号都有右括号。这至少修复了其中一个错误。
这里的.XFDF格式有效:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="http://myhost/sample.pdf" />
<fields>
<field name="date"><value>07/11/2018</value></field>
<field name="atty"><value>Jennifer Smith</value></field>
<field name="typeofclaim"><value>Automobile Collision</value></field>
</fields>
</xfdf>