導航:首頁 > 文檔加密 > activexpdf

activexpdf

發布時間:2023-03-05 05:09:19

㈠ 怎樣在vs工具箱中添加Adobe提供的ActiveX控制項然後怎樣在winform上顯示pdf文件,謝謝

工具箱右鍵,選擇「選擇項...」,COM組件標簽,選擇Adobe的COM組件,添加即可。

㈡ PDF 時間自動更新

這個很麻煩,建個控制項
Acrobat(Reader)提供了一個ActiveX控制項pdf.ocx(7.x版本為AcroPDF.dll),可以在用戶程序中實現PDF文件的顯示。對於老版本的軟體(4.x及以前的版本),只需按照ActiveX控制項的標准編程步驟即可:

(1)把控制項pdf.ocx加入VC項目,並生成控制項類

(2)把控制項放置在對話框上,或者調用控制項類的成員函數Create創建控制項對象

(3)調用控制項的屬性或方法打開PDF文件

由於這不屬於本文要討論的內容,詳情請參考《Visual C++技術內幕》中「使用ActiveX控制項」一章,這里不再贅述。

但是對於新版軟體(5.x/6.x/7.x),上述方法不再適用:新版控制項不是一個完整意義上的ActiveX控制項,它缺少生成控制項類所必需的類型庫信息,無法把控制項加入VC項目。

在這種情況下,需要調用函數CWnd::CreateControl來創建控制項對象,然後獲取控制項的IDispatch介面指針,通過該指針訪問控制項的屬性及方法。

直接用IDispatch指針調用控制項的屬性及方法是一件極其繁瑣的工作,好在新版軟體提供了類型庫,可以用它生成一個自動化組件驅動類(從COleDispatchDriver派生)。藉助該類,可以大大簡化對控制項屬性及方法的調用。

雖然可以用控制項顯示PDF文件,但它只是一個代理,真正的工作還是由Acrobat(Reader)完成的,因此必須安裝這兩種軟體中的一個。

實現步驟

以下以Acrobat(Reader)5.x/6.x為例,介紹如何用新版控制項實現PDF文件的顯示。

運行VC,新建一個基於對話框的MFC應用程序ViewPDF,在設置生成選項時,選中「ActiveX Controls」,其餘使用預設值即可。生成後,刪除對話框中的所有控制項。

接下來創建自動化組件驅動類:打開類向導,點擊「Add Class」按鈕,在彈出的菜單中選擇「From a type library」,用類型庫文件pdf.tlb產生所需的組件類,該文件位於Acrobat軟體安裝目錄下的ActiveX子目錄。

編輯ViewPDFDlg.h,為類CViewPDFDlg添加兩個數據成員: #include \"pdf.h\" // 組件類的頭文件

class CViewPDFDlg : public CDialog

{

protected:

_DPdf m_drvPDF; // PDF組件驅動對象,_DPdf是我們剛生成的組件類

CWnd m_wndPDF; // PDF控制項窗口

... ...

在類成員函數CViewPDFDlg::OnInitDialog中插入下列語句: // 為主窗口添加WS_CLIPCHILDREN風格,否則控制項顯示不正常

ModifyStyle(0, WS_CLIPCHILDREN);

// 獲取對話框的客戶區矩形

CRect rt;

GetClientRect(&rt);

// 利用CWnd::CreateControl創建PDF控制項窗口

// Acrobat (Reader) 5.x/6.x的控制項類ID為\"PDF.PdfCtrl.5\",7.x為\"AcroPDF.PDF.1\"

m_wndPDF.CreateControl(\"PDF.PdfCtrl.5\", NULL, WS_CHILD | WS_VISIBLE, rt, this, 0);

// 獲取IDispatch介面指針

LPUNKNOWN lpUnknown = m_wndPDF.GetControl Unknown();

LPDISPATCH lpDispatch;

lpUnknown->QueryInterface(IID_IDispatch, (void**)&lpDispatch);

// 把獲得的介面指針傳遞給組件驅動對象m_drvPDF,通過它調用控制項的屬性和方法

// 當m_drvPDF銷毀時,會自動釋放介面指針

m_drvPDF.AttachDispatch(lpDispatch);

// 彈出一個「打開」對話框,選擇要顯示的PDF文件

CFileDialog dlg(TRUE);

if (dlg.DoModal() == IDOK)

// 利用控制項的方法LoadFile讀取並顯示PDF文件

m_drvPDF.LoadFile(dlg.GetPathName());

else

OnCancel(); // 退出

編譯運行程序,選擇要顯示的PDF文件。

對於Acrobat(Reader)7.x,實現步驟基本與上相同,區別在於:

(1) 使用AcroPDF.dll生成自動化組件驅動類,得到的類名為IAcroAXDocShim,頭文件為acropdf.h.

(2) 創建控制項窗口時,類ID為AcroPDF.PDF.1.

除了上面用到的LoadFile外,控制項還提供了許多有用的方法,常見的有:

Print 列印文件setZoom 設置頁面的百分比setShowToolbar 顯示/隱藏工具欄gotoFirstPage 跳轉到第一頁gotoLastPage 跳轉到最後一頁gotoNextPage 跳轉到下一頁gotoPreviousPage 跳轉到上一頁

由於用法很簡單,這里不再一一敘述。

㈢ Word中ActiveX 部件不能創建對象以及PDF轉word問題

1. 有可能是樓主的office有問題或者你的Solid Converter PDF有問題 。
2. 圖片類的PDF轉word用其他軟體都是不行的,只有用OCR軟體才行,而且正確率不是100%的,國產的有尚書七號 漢王OCR 國外的有ABBYY finereader
我用過ABBYY finereader 轉PDF效果還是很好的~~還支持多國語言~~

㈣ 你們好請教下為什麼我在director11裡面用Acrobat Reader ActiveX 控制項插入PDF然後把精靈放到舞台上面然後

...........然後呢?

閱讀全文

與activexpdf相關的資料

熱點內容
哪個app聽音樂最好 瀏覽:281
考研英語2真題pdf 瀏覽:699
煙台編程積木教育環境好不好 瀏覽:214
python優秀代碼 瀏覽:620
androidtop命令 瀏覽:455
你平時怎麼排解壓力 瀏覽:68
表格中的文件夾怎樣設置 瀏覽:476
em78單片機 瀏覽:960
splitjava空格 瀏覽:248
電腦怎麼谷歌伺服器地址 瀏覽:515
nx自定義工具啟動宏命令 瀏覽:101
程序員怎麼解決無法訪問互聯網 瀏覽:303
java訪問本地文件 瀏覽:747
瓦斯琪伺服器怎麼用 瀏覽:22
安卓主題用什麼app 瀏覽:747
修改伺服器pci地址空間 瀏覽:321
程序員將來去哪裡 瀏覽:966
虛幻5創建c無法編譯 瀏覽:189
javaweb項目設計 瀏覽:407
國家反詐app緊急聯系人怎麼填 瀏覽:191