我想知道是否有办法在adobe reader中通知用户 pdf表单已提交给服务器?我提交的是 正常的http / html表单到php脚本没什么大不了的,直截了当, 但在文档,论坛等方面似乎有一个很大的“黑洞”。 至于提交表格时会发生什么。
我提交后没有办法触发javascript警报 表单??我不想再回复另一个说“谢谢”的pdf, 这有点俗气。我是pdf表格的新手,所以我猜那里 必须是将FDF返回到具有某些内容的原始文档的方法 其中执行的javascript例如警报('谢谢你的 反馈!')..
这应该是直截了当的,我认为Adobes大肆炒作 PDF技术更易于开发和访问..
任何想法? (哦,请不要问我为什么使用pdf表格而不是网页,这是来自“顶级”,所以作为开发人员我只需要这样做..)
答案 0 :(得分:5)
您要发布到的服务器脚本必须在HTTP标头中使用此内容类型进行回复:
'Content-Type:application / vnd.fdf'
例如。如果您使用的是PHP:
header('Content-Type: application/vnd.fdf')
然后是相关的bastardized-pdf-javascript-mutant-half-bread,它将触发alert()对话框。
%FDF-1.2
1 0 obj
<<
/FDF
<<
/JavaScript
<<
/Doc 2 0 R
/After (confirmSend();)
>>
>>
>>
endobj
2 0 obj
[
(confirmSend) 3 0 R
]
endobj
3 0 obj
<<
>>
stream
function confirmSend()
{
app.alert({
cTitle : 'title of the window',
cMsg : 'message',
nIcon : 3
});
}
endstream
endobj
trailer
<<
/Root 1 0 R
>>
%%EOF
我希望你收到这条消息,因为我浪费了将近2周的时间来寻找解决方案......
答案 1 :(得分:1)
谢谢!我也一直在寻找解决方案几个小时!这非常令人沮丧。安装FDF工具包似乎有点过分,只是为了在提交PDF后得到一个简单的确认对话框。
我最终通过反复试验得到了以下内容(似乎网上绝对没有关于此的文档):
%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF
<<
/Status(Thank you. Your details have been submitted and someone will get in touch with regarding your application.)
>>
>>
endobj
trailer
<</Root 1 0 R>>
%%EOF
以上内容将在Adobe Reader中显示(或应呈现)一个对话框,而不显示“警告:JavaScript窗口”警告。
希望这最终对某人有用。
答案 2 :(得分:1)
我争吵了几天,试图找出为什么当我使用response.write发送FDF时,它只是不会显示在Reader中。我尝试发送手工制作的FDF并安装FDF工具包来创建FDF响应。我能够创建有效的FDF,因为我能够在Reader中本地打开并正确显示弹出窗口,但是我无法让它在我从ASP.NET页面发送FDF的生活中工作。
然后灵感来袭。在我尝试发送FDF的一次尝试中,我将FDF存储在一个文件中,并尝试使用流式读取器将其泵入响应。在尝试使用response.write多次失败之后,我突然想到了response.redirect到保存的fdf文件并且工作正常。我以前添加了fdf作为我的网站的注册MIME扩展,其中application / vnd.fdf作为MIME类型。现在,用户在成功提交后会收到弹出窗口。 C#中的简单解决方案如下所示:
Page.Response.Redirect("success.fdf");
答案 3 :(得分:0)
经过3天的搜索后,我设法找到了答案,在php脚本中为fdf文件添加了一个标题,在acrobat的url末尾添加“#FDF”似乎是解决方案;
%FDF-1.2 1 0 obj &LT;&LT; / FDF &LT;&LT; / JavaScript的 &LT;&LT; / Doc 2 0 R /之后(confirmSend();)
&GT; &GT; &GT; endobj 2 0 obj [ (confirmSend)3 0 R ] endobj 3 0 obj &LT;&LT; &GT; 流 function confirmSend() { app.alert(“表格已成功提交\ n感谢您的反馈!”,3); } endstream endobj 预告片 &LT;&LT; / Root 1 0 R &GT; %% EOF