用于远程与PDF合并的.XFDF文件格式的F键的问题

时间:2018-07-15 17:00:58

标签: pdf fdf

我一直在阅读,有一种方法可以创建/引用.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网址放在哪里?

%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中的Windows窗口。知道怎么了吗?

这是一个示例.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>

有人发现构图有问题吗?我可能遇到哪些mime.type问题?我的服务器设置为将.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文件中可能有什么错误吗?解析器说这是正确的。可以用\ n终止行吗?

1 个答案:

答案 0 :(得分:0)

我在字段解析中发现的一个问题是,如果表单数据的内容未封装在某种表示“按原样保留”的结构(即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>