我有以下情況:如何從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