VC 读取 doc,xls,ppt,pdf等格式的文件

相关网站:http://minidx.com/

如何使用VC 读取doc,xls,ppt等文件.给大家介绍一种方法,非常方便,简单,实用。

文章是从http://blog.minidx.com/2008/01/10/373.html转过来的,还有其它更详细的,大家可以直接访问http://minidx.com/,如果打开不了,就把翻墙(没有翻墙的同学点这里)开着,就OK了。

●Demo(VC++)源代码从VC2003Demo,VC2005Demo,VB.net下载,实在上不了国外网站的同学,直接到我的资源里去下点击打开链接(三个包都在里面).相关文档资料分类中的“Doc,Xls,Pdf等文件中抽取文本的Com组件及Demo(VC++)源代码”)

●执行Demo

①、双击run.bat执行,注册Com组件

register

②、双击demo_vb\bin\Release或者demo_vb\bin\Debug目录下的demo_vb.exe

demo-run

③、点“File”,选择对象文件

select-english-file

④、选中文件,查看抽取文本结果。(下面分别是中日英Word的抽取结果)

result-engilsh select-Japanese-file select-Chinese-file


注意:抽取文本对象文件需要有读写权限,正在编辑中的文件抽取文本时可能会出错。

●实际调用方法:

①、复制下面三个文件到自己工程的相应目录下

・ExtractText.dll
・ExtractText.h
・ExtractText_i.c

②、在需要的文件中用下面的代码引入

#include “ExtractText.h”
#include “ExtractText_i.c”

③、抽取文本部分代码:

   1:  ITextExtractor *te = NULL;
   2:  // Declare and HRESULT and a pointer to the Simple_ATL interface
   3:  HRESULT            hr;
   4:   
   5:  // Now we will intilize COM
   6:  hr = CoInitialize(0);
   7:  BSTR fileName = ::SysAllocString(strFileName);
   8:  if(SUCCEEDED(hr))
   9:  {
  10:  hr = CoCreateInstance( CLSID_TextExtractor, NULL, CLSCTX_INPROC_SERVER,
  11:  IID_ITextExtractor, (void**) &te);
  12:   
  13:  hr = te->ExtractText(fileName, (long)lFileSize, &cval);
  14:  if( cval ) txt_extract_text.SetWindowText(cval);
  15:              
  16:  hr = te->Release();
  17:  }
  18:  // Uninitialize COM
  19:  CoUninitialize();

当然,也可以通过GetProcAddress的方式导入函数,函数的接口请参照ExtractText.h,LoadLibrary方式的使用方法也很简单,有兴趣的可以自己做着试试看,这里不再重复说明了。同样的,有什么问题可以直接在这里留言或者在Minidx帮助论坛发贴寻找帮助。该模块可用于任何商业和非商业的用途,如果你愿意的话,可以发一个邮件给我告诉我这一模块被用在了你的项目中,那么当你取得成功的时候,我也可以向我的朋友们吹嘘一下,当然这不是必需的,:)

注意:如果需要获取PDF内容的同学,这里需要注意,必须得去下载PDF的Ifiter,这里提供一个地址,点击打开链接,地址上V4.1,V5.0,V6.0,经过我的测试,只有安装完V6.0的版本,读取PDF才是OK的。但是V6.0的有9M多。当然还可以去下载其它的

PDF的Ifiter,不过一般都是收费的,哪位朋友如果有免收费的,体积小的,可以发我邮箱一个不胜感激(邮箱地址:763098346@QQ.com)或者私信我也行.祝大家顺利.大笑







  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值