导航:首页 > 文档加密 > 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相关的资料

热点内容
宝可梦做解压视频 浏览:597
威纶通触摸屏编译时内存不足 浏览:610
单片机采集电压比较 浏览:950
程序员三年前工资多少 浏览:707
pc端c语言编译工具 浏览:24
护理知识app怎么做 浏览:31
我的世界服务器如何跨版本 浏览:914
益盟正版主力识别公式源码 浏览:493
温州程序员兼职网站 浏览:720
csgo控制台命令大全指令表 浏览:733
小米盒子连接服务器地址 浏览:368
文档怎么压缩进一个文件夹 浏览:87
cnn新闻app从哪里下载 浏览:73
杀戮命令精通 浏览:896
如何查魔兽世界角色在哪个服务器 浏览:45
压缩气罐免责说明 浏览:914
为什么sim连接不了服务器 浏览:33
如何注册豆瓣app 浏览:561
屏膜找图算法 浏览:540
我的世界服务器怎么给别人游戏币 浏览:942