我有以下情况:如何从Internet Explorer嵌入式对象访问完整的Adobe Acrobat AcroExch COM API?
- 的Internet Explorer 9在Windows 7 SP1 32位
- 的Adobe Acrobat Professional版本10
- 与代码中的网页这样的:
<object data="foo.pdf" src="foo.pdf">
鉴于:
- 系统上的默认的PDF阅读器是使用Adobe Acrobat
- 的Adobe阅读器的浏览器插件支持Acrobat的插件
- Acrobat.exe的抑制运行时的插件加载
- 我使用的是IE浏览器的COM自动化(从红宝石,但这并不重要),以获得对
object
的AxAcroPDFLib.AxAcroPDF
对象
参考使用此AxAcroPDFLib.AxAcroPDF
对象,我需要处理表单字段,阅读文本,并做其他的东西,是完美的原因能够使用AcroExch.PDDoc
API,然后单击网页上的按钮(使用IE自动化)以将表单字段序列化为XML并将其保存到Web服务器。
由于业务需求,我需要从用户的角度来测试这个“端到端”,所以我不能只在XML中填充值并查看服务器是否需要它们。
有没有办法从AxAcroPDFLib.AxAcroPDF
引用访问打开PDF文档的AcroExch.PDDoc
的API,没有的PDF格式保存到磁盘上,并打开它一个文件中使用AcroExch.App
?
问题是,如果我将它保存到磁盘并在Acrobat中重新打开它,据我所知,该文件不能用于保存表单字段数据并将其提交到Web服务器。 (或能不能?)
这是最令人费解的,因为Adobe ** Reader **根本不在图片中。在此系统上打开嵌入式PDF时,Reader不会激活; ** Acrobat **。在浏览器中显示PDF时运行“Acrobat.exe”。你是说当Acrobat嵌入在浏览器窗口中时,它的能力只有Reader? – allquixotic 2015-03-16 21:22:42
@allquixotic,我是说'AxAcroPDFLib.AxAcroPDF' ActiveX控件中可用的API集是相同的,无论你是否在某个特定的PC上安装了Reader或完整的Acrobat。我相信这背后的原因是,这个ActiveX最初设计为IE插件,并且这组API被故意限制为[这些](http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/ wwhimpl/JS/HTML/wwhelp.htm?HREF = IAC_API_OLE_Objects.103.167.html&访问= TRUE)。 – Noseratio 2015-03-16 22:32:26