<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文Flex例子 &#187; VB.net</title>
	<atom:link href="http://blog.minidx.com/tag/vbnet/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minidx.com</link>
	<description>中文Adobe Flex例子,Flex实例教程,RIA资源,全文检索技术,算法和数据结构</description>
	<lastBuildDate>Thu, 31 Mar 2011 03:22:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>利用Minidx Extract-Text Com组件从Word,Xls,Pdf&#8230;&#8230;等文件中读取文本内容</title>
		<link>http://blog.minidx.com/2007/12/31/334.html</link>
		<comments>http://blog.minidx.com/2007/12/31/334.html#comments</comments>
		<pubDate>Mon, 31 Dec 2007 13:26:16 +0000</pubDate>
		<dc:creator>Minidxer</dc:creator>
				<category><![CDATA[Minidx相关]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Com组件]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[Extract Text]]></category>
		<category><![CDATA[IFilter]]></category>
		<category><![CDATA[indexing service]]></category>
		<category><![CDATA[Minidx]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[VB.net]]></category>
		<category><![CDATA[xls]]></category>
		<category><![CDATA[搜索引擎]]></category>

		<guid isPermaLink="false">http://blog.minidx.com/2007/12/31/334.html</guid>
		<description><![CDATA[不少人对Google，Baidu等搜索引擎可以“找到”你放在服务器上的Word的Doc,Excel的xls以及Pdf等各种文件而感到惊叹不已，也有不少人发来邮件询问我Minidx文件管理器中从各种格式的文件中读取文本内容是如何实现的。Linux平台实现起来比较复杂一些，不过对于Windows用户来说，其实利用微软Ifilter的Indexing service接口，可以比较容易的实现上面的功能。Minidx支持200多种文件格式，其实也是利用了Ifilter的接口。实现的基本原理，就是写一个Com组件，去查找系统中相应文件格式的API接口所在的Dll路径，然后调用抽取文本。








在上面的微软Ifilter中有关于IFilter的基本概念的介绍，这里不再重复，另外在codeproject的Using IFilter in C#中，可以找到C#的实现并且可以下载到源代码。因为性能上的考虑，Minidx文件管理器的这一部分完全利用C++实现，并封装为Com组件，下面主要是对如何通过调用这一Com组件在自己的程序中实现Doc，Xls，Pdf，msg等等文本阅读等功能作一些说明。
●Demo压缩包构造（压缩包可以从这里下载）
demo_vb.zip&#8212;&#8212;&#8212;&#8211;demo_vb.sln&#160;&#160; 整个解决方案（solution）文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;&#8212;&#8212;demo_vb.suo　用户配置文件
　　　　　　　　　 &#124;&#8212;&#8212;&#8212;demo_vb&#8212;-bin&#8212;&#8212;&#8211;Debug&#8212;-demo_vb.exe&#160;&#160; Debug版本目标文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;&#8212;&#8212;Release&#8212;demo_vb.exe&#160; Release版本目标文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;My Project(忽略)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;obj&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 编译生成的临时文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;demo_vb.vbproj&#160;&#160;&#160;&#160;&#160; 工程文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;ExtractText.dll&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 文本抽取Com组件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;Form1.Designer.vb&#160;&#160; Demo的GUI文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;Form1.resx&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 资源文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;Form1.vb&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Demo的源代码文件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#8212;run.bat&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Com组件注册命令
●执行Demo
①、双击run.bat执行，注册Com组件
 
②、双击demo_vb\bin\Release或者demo_vb\bin\Debug目录下的demo_vb.exe
 
③、点“File”，选择对象文件
 
④、选中文件，查看抽取文本结果。（下面分别是中日英Word的抽取结果）
   
注意:抽取文本对象文件需要有读写权限，正在编辑中的文件抽取文本时可能会出错。
●Demo代码说明
首先当然需要导入Dll组件，下面的代码很简单，也都有注释，应该不难理解，这里不再累述，有什么不明白或者有什么问题的话，可以提出来一起探讨，：）

   1:  '-----------------------------
   2:  ' desc: Extract text from selected file
   3:  '-----------------------------
  [...]]]></description>
		<wfw:commentRss>http://blog.minidx.com/2007/12/31/334.html/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 2/14 queries in 0.131 seconds using disk
Object Caching 164/345 objects using disk

Served from: blog.minidx.com @ 2012-02-09 10:08:06 -->
