1. 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 跳轉到上一頁
由於用法很簡單,這里不再一一敘述。
2. 為什麼我的PDF文件瀏覽器在閱讀文件的時候總顯示要更新 我已經更新了的···可是每次都還是顯示要更新·
電腦是不是裝有系統自動還原,或者什麼保護軟體,導致更新的東西不能保存。
3. 您好,麻煩問一下,OA系統里PDF控制項不可用,請重新安裝需要怎麼解決!
OA系統一般報這個提示意思就是你的電腦沒有PDF插件或者使用的插件和OA本身需要的插件不匹配,所以這里你需要點擊安裝這個OA提示你下載的PDF插件。
一般OA系統中用戶都會分配有插件下載的鏈接/按鈕你找你下,或者直接聯系OA的維護人員,讓他們幫你下載。
OA系統插件中一般含有:
office插件、PDF插件、flash插件等其他插件(不同的系統會有差異)。
(3)電腦上pdf控制項如何更新擴展閱讀:
OA軟體的應用范疇涉及到所有知識性員工,是全員信息化的第一台階。既然是全員應用,提高全員的工作效率而不是某個部門、某個領導、某個人的效率,成為OA軟體的核心價值定位,如果以通用性和經常性兩個緯度對OA軟體的功能進行篩選的話,OA軟體的核心應用是:
流程審批、協同工作、公文管理(國企和政府機關)、溝通工具、文檔管理、信息中心、電子論壇、計劃管理、項目管理、任務管理、會議管理、關聯人員、系統集成、門戶定製、通訊錄、工作便簽、問卷調查、常用工具(計算機、萬年歷等)。
如果以給企業帶來價值大小的緯度對所有功能模塊評估的話,基本上遵循80:20定律,其中的工作流程模塊、協同工作模塊、項目管理模塊為企業帶來的了80%的價值,而其餘的模塊帶來20%的價值。
4. OA 辦公系統內的PDF文件無法打開,控制項不可用,請重新安裝,怎麼辦
OA系統里PDF控制項不可用,大部分情況下有這兩種可能:
一、pdf控制項出現問題,卸載原有PDF控制項,重新安裝一下。
二、OA系統存在問題,系統不兼容/缺少插件/瀏覽器不兼容都會導致控制項不可用,可以讓企業OA管理員或OA廠商的售後進行協助解決。
但傳統控制項存在著一系列的弊端,維護費力、性能體驗不佳、瓶頸突出等問題,拖累的不只是文檔,還有企業經營管理的效率。
如果換個思路,直接舍棄控制項預覽的方式,集成永中DCS文檔在線預覽服務,在瀏覽器中就能直接在線就能快速查看文檔內容。
OA辦公系統簡介:
辦公自動化(OA: OFFICE AUTOMATION)就是採用Internet/Intranet技術,基於工作流概念,使企業內部人員方便快捷地共享信息,高效協同工作。
改變過去復雜、低效的手工辦公方式,實現迅速、全方位的信息採集、處理,為企業管理和決策提供科學依據。
企業實現辦公自動化程度也是衡量其實現現代化管理的標准。辦公自動化不僅兼顧個人辦公效率提高,更重要的是可實現群體協同工作。憑借網路,這種交流與協調幾乎可以在瞬間完成。
這里所說的群體工作,可以包括在地理上分布很廣,甚至在全球上各個地方,以至於工作時間都不一樣的一群工作人員。
5. 為什麼打開公司的文件顯示pdf控制項不可用,請重新安裝
打開公司的文件顯示pdf控制項不可用,請重新安裝是pdf控制項錯誤造成的,解決方法為:
1、首先,在電腦上點擊打開pdf文件。
6. 為什麼打開公司的文件顯示pdf控制項不可用,請重新安裝
打開公司的文件顯示pdf控制項不可用,請重新安裝是pdf控制項錯誤造成的,解決方法為: 1、首先,在電腦上點擊打開pdf文件。 2、接下來需要進入後點擊工具欄的編輯。 3、接下來需要選擇底部的首選項。 4、在首選項里點擊多媒體信任。 5、在信任選項里全部勾選,點擊確定.
7. oa pdf控制項不可用,請重新安裝。
問題是因為office的控制項沒有安裝成功。可以先卸載所有pdf有關軟體,重新下載瀏覽器後按如下操作:
具體如下:
1、在左下角的搜索欄中搜索IE,打開IE流浪器。
到這一步,將office和必要插件安裝後,就能正常使用!
8. pdf插件怎樣安裝
pdf插件的安裝方法:
1、打開PDF軟體的安裝目錄,滑鼠左鍵雙擊安裝程序
9. PDF版本和拼版插件需要更新
做印刷的話,最好用9版本的PDF,拼版的話,3.0的QI是最實用穩定的給你共享一下 QuiteImposingplus3.0PDF拼版軟體: 內含有詳細的安裝說明,你可以好好看看。
10. 安裝PDF軟體以後電腦開機老是自動更新,怎麼辦啊
單擊菜單【編輯】,【選項(自定義)】,取消自動更新(禁用自動更新)就可以取消電腦啟動時Adobe Reader自動更新。