我有以下情况:
- Windows 7 SP1 32 位上的 Internet Explorer 9
- Adobe Acrobat 专业版 10
- 一个网页,代码如下:
<object data="foo.pdf" src="foo.pdf">
鉴于:
- 系统默认的PDF阅读器是Adobe Acrobat
- Adobe Reader 浏览器插件被抑制,取而代之的是 Acrobat 插件
- 加载插件时 Acrobat.exe 正在运行
- 我正在使用 Internet Explorer 的 COM 自动化(来自 Ruby,但这并不重要)来获取对
object
's AxAcroPDFLib.AxAcroPDF
object
有了这个AxAcroPDFLib.AxAcroPDF
对象,我需要操作表单字段、读取文本以及执行其他与该对象完全合理的操作AcroExch.PDDoc
API,然后单击网页上的按钮(使用 IE 自动化)将表单字段序列化为 XML 并将其保存到网络服务器。
由于业务需求,我需要从用户角度测试这种“端到端”,因此我不能只将值填充到 XML 中并查看服务器是否接受它们。
有什么办法可以访问AcroExch.PDDoc
从以下位置打开的 PDF 文档的 APIAxAcroPDFLib.AxAcroPDF
参考,without将 PDF 保存到磁盘上的文件并使用打开它AcroExch.App
?
问题是,据我所知,如果我将其保存到磁盘并在 Acrobat 中重新打开它,该文件将无法用于保存表单字段数据并将其提交到 Web 服务器。 (或者可以吗?)
有没有办法访问打开的PDF的AcroExch.PDDoc API
来自 AxAcroPDFLib.AxAcroPDF 参考的文档,无需保存
PDF 到磁盘上的文件并使用 AcroExch.App 打开它?
我认为你不能这样做AxAcroPDFLib.AxAcroPDF
. Check “针对 Adobe® Reader® 进行开发” http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/reader_overview.pdf,第 25 页(“OLE 自动化”):
在 Windows 上,the onlyAdobe Reader 支持的 OLE 自动化是
PDF浏览器控件界面,使您能够处理PDF
文档作为外部应用程序中的 ActiveX 文档。这
使得有可能加载文件,移动到不同的页面
文件,突出显示文本选择,并指定各种打印和
显示选项, 如下所示。
此外,还有支持的 API 的详细列表,您还可以通过以下方式确认:OleView https://msdn.microsoft.com/en-us/library/windows/desktop/ms693754%28v=vs.85%29.aspx.
It might可以开发 Adobe Acrobat 插件,但是:
任何为 Adobe Reader 编写的插件都必须支持 Reader,这
意味着您需要获得 Adobe 的许可和许可
系统。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)