【发布时间】:2018-07-15 17:00:57
【问题描述】:
我一直在读到有一种方法可以创建/引用一个 .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 中的窗口。知道有什么问题吗?
这是一个示例 .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-type“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 终止行吗?
【问题讨论】:
-
“可以将特制的 URL 发送到将加载 Acrobat 或将 FDF 数据与 PDF 合并的相关程序的浏览器。”你从哪里听到的?即使这在某些/某些情况下是正确的,但通常不是正确的。为什么要让浏览器自动处理 PDF+FDF 数据?
-
尝试删除所有的回车和换行字符。 Acrobat 解析器并不像您想象的那样宽容。
-
我不知道精心设计的 URL,但是带有正确 MIME 标头的 .XFDF 的 URL 将导致 Acrobat 加载 FDF,并通过 FDF 文件中的 f 标记,它然后将上网并获取PDF文件表格并将其合并。我已经测试过这在某种程度上有效,但它似乎有问题。