導航:首頁 > 文檔加密 > c控制項pdf

c控制項pdf

發布時間:2022-06-12 15:13:59

⑴ c中如何在打開pdf文件時,指定pdf文件顯示的章節

7.0以上引用AcroPDF.dll
7.0以下引用pdf.ocx
使用下面的代碼試試:
Pdf1.LoadFile
strPath
'pdf的路徑
Pdf1.setCurrentPage
iPageNumber
'顯示的頁碼

⑵ c語言tabcontrol控制項怎麼寫

1、首先創建一個MFC對話框框架,在對話框資源上從工具箱中添加上一個Tab Control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項添加一個變數,
將此控制項跟一個CTabCtrl類變數綁定在一起,這里設為m_tabctrl

2、創建兩個新的對話框資源,其屬性作如下修改:
Border:none //邊界為空,這樣它就沒了標題欄
Style :Child // 這樣這個模板就可以當作另一個窗口的子窗口了。
其它如果沒有必要,就不用改了。
在上面加一些控制項什麼的,具體操作跟普通對話框沒有區別。
完成後從這兩個對話框模板生成兩個新的對話框類。

3、在主對話框.h文件中加入新對話框的頭文件,並為新添加進來的兩個類增加兩個變數:
如:
CTabCtrl m_tabctrl;

CDlgTab1 m_dlgtab1;
CDlgTab2 m_dlgtab2;
4、在主對話框的OnInitDialog()函數中添加如下類似的代碼:
CRect r; //CRect包含用於定義矩形的左上角和右下角點的成員變數

m_tabctrl.GetClientRect(&r);

TCITEM item1;

TCITEM item2;

item1.mask = TCIF_TEXT;

item1.pszText = _T("第一頁");

m_tabctrl.InsertItem(1,&item1);

item2.mask = TCIF_TEXT;

item2.pszText = _T("第二頁");

m_tabctrl.InsertItem(2,&item2);

m_dlgtab1.Create (IDD_DLGTAB1,&m_tabctrl);

m_dlgtab2.Create (IDD_DLGTAB2,&m_tabctrl);

m_dlgtab1.SetWindowPos(NULL,10,30,r.right - 20,r.bottom - 40,SWP_SHOWWINDOW);

m_dlgtab2.SetWindowPos(NULL,10,30,r.right - 20,r.bottom - 40,SWP_HIDEWINDOW);

m_tabctrl.SetCurSel(0);
解釋如下:
兩個InsertItem函數的調用是為了給標簽控制項增加兩個標簽頁面,文本是標題。
SetWindowPos()函數設置這兩個對話框在Z順序中的位置,顯示或隱藏狀態。

5、在主對話中為標簽控制項添加一個標簽選擇改變(TCN_SELCHANGE)的控制項通知消息,以便在用戶選擇標簽時通知主對話框。在主對話框的編輯界面右擊標簽控制項
,選擇添加一個事件可以完成這個操作。
在事件處理中添加如下代碼,如下例:
void CtabdialogDlg::OnSelchangeTimingtab(NMHDR *pNMHDR, LRESULT *pResult)

{

CRect r;

m_tabctrl.GetClientRect (&r);

switch(m_tabctrl.GetCurSel())

{

case 0:

m_mm1.SetWindowPos (NULL,10,30,r.right -20,r.bottom -40,SWP_SHOWWINDOW);

m_mm2.SetWindowPos (NULL,10,30,r.right -20,r.bottom -40,SWP_HIDEWINDOW );

break;

case 1:

m_mm1.SetWindowPos (NULL,10,30,r.right -20,r.bottom -40,SWP_HIDEWINDOW);

m_mm2.SetWindowPos (NULL,10,30,r.right -20,r.bottom -40,SWP_SHOWWINDOW );

break;

}

*pResult = 0;

}

要想知道用戶選擇那個標簽頁,要通過m_tabctrl.GetCurSel() 函數。為了不使顯示的子對話框覆蓋標簽控制項的顯示,所以要獲得標簽控制項的尺寸然後設置各頁面的尺寸。

⑶ C#winform adobe PDF reader 控制項

privatestaticstringGetText(AcroPDDocpdDoc)
{
AcroPDPagepage;
intpages=pdDoc.GetNumPages();
stringpageText="";


for(inti=0;i<pages;i++)
{
page=(AcroPDPage)pdDoc.AcquirePage(i);
objectjso,jsNumWords,jsWord;
List<string>words=newList<string>();


try
{
jso=pdDoc.GetJSObject();


if(jso!=null)
{
object[]args=newobject[]{i};
jsNumWords=jso.GetType().InvokeMember("getPageNumWords",BindingFlags.InvokeMethod,null,jso,args,null);
intnumWords=Int32.Parse(jsNumWords.ToString());


for(intj=0;j<=numWords;j++)
{
object[]argsj=newobject[]{i,j,false};
jsWord=jso.GetType().InvokeMember("getPageNthWord",BindingFlags.InvokeMethod,null,jso,argsj,null);
words.Add((string)jsWord);
}
}


foreach(stringwordinwords)
{
pageText+=word;
}
}
catch
{
}
}


returnpageText;
}

⑷ C#怎麼打開pdf文件

1.PDFBox的IKVM版本:目前只有PDFBox的IKVM版本能比較好地從PDF中提取文本
2.使用Acrobat的SDK
3.XPDF:如果條件允許可以考慮使用XPDF的PDFToTextXPDF是用C語言編寫的PDF解析庫,並提供多個工具,開放源代碼(如果熟悉C和dotnet,也許可以在dotnet環境下編譯

⑸ C1PdfViewer控制項怎樣顯示目錄

修改64位系統
C:Program Files (x86)AdobeAcrobat Reader DCReaderAcroAppCHS
或32位系統 C:Program FilesAdobeAcrobat Reader DCReaderAcroAppCHS
目錄下的viewer.aapp(這是個xml 記事本打開就行)文件將<application></application>標簽內內容注釋掉(需要管理員許可權)。

<Applicationxmlns="查看程序"id="Viewer"majorVersion="1"requiresDoc="true"minorVersion="0">

<!--<Layouts>

<Layoutname="Default">

<RHP>

<Componentname="AppShortcutListView"type="Custom"/>

</RHP>

</Layout>

</Layouts>

-->

</Application>

或者下載改好的文件直接覆蓋它。

當然還是有點小問題:就是因為dc刪除了工具欄的注釋按鈕,要使用注釋得到工具頁面選擇了。

⑹ C語言控制項是什麼意思

就像一個button一樣,類似的還有edit編輯框、列表框list等等。

如:能看見的有型的都是空間。

⑺ C#的PDF控制項顯示問題!!正常關閉程序會顯示內存錯誤

您好!出現:0x????????
指令引用的0x????????內存。該內存不能為"read"或"written"。答案【shijan8原創】★嚴禁復制★
【1】對電腦沒有影響或【偶爾】出現,不用管它,【重啟電腦】後可能會自動消失。
【2】盜版系統或Ghost版本系統,系統文件錯誤或丟失,也會出現該問題,及時安裝官方發行的補丁,{檢查電腦年、月、日是否正確}。建議:安裝【正版】系統。
【3】檢查驅動是否出現問題,重新安裝驅動或及時更新驅動。
【4】病毒引起的:升級殺毒軟體或下載專殺工具,清理惡意插件,對電腦全盤殺毒。
【5】硬體引起的:
(1)可能是內存條出現的小問題,關機斷電,把內存條拆下清理干凈重新安裝。必要時更換內存條。(硬體上一般不會出現該問題)
【6】軟體引起的:
(1)安裝的軟體與系統或其它軟體發生沖突,盜版或帶病毒的軟體,請慎重下載軟體,最好使用正版。【這里主要說的是檢查開機啟動項,把沒必要啟動的啟動項禁止開機啟動】
(2)如果你的電腦中安裝了兩款或兩款以上的同類軟體,比如:兩款殺毒軟體、兩款優化系統軟體等,請卸載一款,以免發生沖突,以保持電腦穩定性。
(3)有些系統補丁下載安裝了錯誤補丁,可能與您當前的系統或其它軟體發生沖突,也會出現該問題。卸載該補丁,找到適合您電腦補丁,重新下載重新安裝。
可以試試下面的方法:看看能不能解決。
◆開始→運行→輸入cmd→回車,在命令提示符下輸入下面命令
for
%1
in
(%windir%\system32\*.dll)
do
regsvr32.exe
/s
%1回車。
完成後,在輸入下面的
for
%i
in
(%windir%\system32\*.ocx)
do
regsvr32.exe
/s
%i
回車。
如果怕輸入錯誤,可以復制這兩條指令,然後在命令提示符後擊滑鼠右鍵,打「粘貼」,回車,耐心等待,直到屏幕滾動停止為止。(重啟電腦)。
●在檢查運行regedit進入注冊表,
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
下,應該只有一個正常的鍵值{AEB6717E-7E19-11d0-97EE-00C04FD91972},
將其他的刪除。【如果還有一個(默認)值不用管它,一般它為空。】必要時【還原】或重新安裝系統。

⑻ C語言實現pdf文件的基本操作創建,刪除,讀,寫,編輯

我們編輯今天沒有在,他來了我讓他給你答案啊

⑼ 怎麼用C語言讀取PDF文件

1.pdf(Portable Document Format的簡稱,意為「攜帶型文檔格式」),是由Adobe Systems用於與應用程序、操作系統、硬體無關的方式進行文件交換所發展出的文件格式。PDF文件以PostScript語言圖象模型為基礎,無論在哪種列印機上都可保證精確的顏色和准確的列印效果,即PDF會忠實地再現原稿的每一個字元、顏色以及圖象。

2.對於程序來說,不管後綴名如何,文件分為兩種類型:文本文件和二進制文件。
C語言里有一系列文件操作函數。區分文本和二進制文件,需要在打開文件時設置不同的控制符mode的變數即可。

3.fopen的函數原型:FILE * fopen(const char * path,const char * mode);
fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,允許讀數據。
rw+ 讀寫打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個文本文件;允許讀寫。
at+ 讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。

⑽ 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 跳轉到上一頁

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

閱讀全文

與c控制項pdf相關的資料

熱點內容
手機維修pdf 瀏覽:325
如何在伺服器上取資料庫 瀏覽:161
源碼生成器手機版 瀏覽:286
命令方塊超級空島生存 瀏覽:17
車庫收費系統顯示加密狗失敗 瀏覽:264
程序員流程圖工具 瀏覽:856
上級的命令 瀏覽:701
取消微信加密怎麼做 瀏覽:47
樂寫app怎麼用 瀏覽:476
魔都女程序員晚上下班 瀏覽:464
山西伺服器控制台定製雲伺服器 瀏覽:692
pdf壓縮轉換器 瀏覽:903
androidios發展前景 瀏覽:276
壓縮機低壓表設定值怎麼看 瀏覽:577
python為什麼沒人招聘 瀏覽:106
spring源碼編譯很慢 瀏覽:458
怎麼看伺服器里的軟體 瀏覽:613
怎麼才能獲得高級伺服器 瀏覽:864
最便宜linux 瀏覽:32
有徵信app嗎怎麼查 瀏覽:353