使用PDF作为数据输入机制

时间:2012-11-04 04:05:02

标签: javascript forms pdf fdf

我正在努力将PDF转换为HTML,但客户端却没有。所以我们走了。我需要一种方法来告诉内联的pdf表单将POST提交到URL。等等:

<!-- Inlined PDF --> 
<object type="application/pdf" data="http://xxxxxxx" id="pdf_form"> 
</object> 

<!-- Button I add to the page to do a form submit --> 
<input type="button" onclick="javascript: DoSubmit();"> 

<script type="text/javascript"> 
// Do a POST with the form data here.  Either getting the data out of the pdf 
// or using ACROBAT's FDF export & http submit to handle this 
function DoSubmit() {
  // Get 'pdf_form' and tell it to post it's data to a url  
} 
</script> 

我需要它以这种方式工作到客户端,无论何时想要添加新表单,都不必向pdf添加提交按钮。我正在尝试使系统非常灵活,以便添加这些表单;因为它们很多。

最好的办法是,如果我不需要手动修改pdf来实现这一点。

还有一个工具栏,上面有一个保存按钮。删除该保存按钮或使该保存按钮执行表单提交而不是pdf文件保存也很重要。

1 个答案:

答案 0 :(得分:1)

我有好消息,我有坏消息。

让我们从好消息开始,因为它的数量较少:您可以在PDF中使用JavaScript,就像在HTML中使用JavaScript一样。

坏消息:

  1. 您需要调整PDF以建立PDF中的JavaScript与HTML中的JavaScript之间的通信。看看an excerpt of my book to find out how to do this。在HTML中,您可以触发方法postMessage(),但如果PDF包含MessageHandler,则只有PDF才能理解此消息。
  2. 这是一个众所周知的问题,这不适用于每个操作系统(我上次检查时,它在MacOS上无效)。
  3. Adob​​e Reader显示了一个允许人们保存PDF的工具栏。无法删除该工具栏。我已经在stackoverflow上回答了这个问题:Can I hide the Adobe floating toolbar when showing a PDF in browser?请注意,另一个答案是“开放参数”。据我所知,这些参数可以使插件中的上方工具栏可见/不可见,但它们对“浮动工具栏”没有影响。