`
ZOODragon
  • 浏览: 68048 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

<转>C#读取doc,pdf,ppt文件

阅读更多

doc  pdf ppt与 txt之间的转换 :

组件的作用一般是将文件读出成字符格式,并不是单纯的转换文件名后缀,所以需要将读出的东西写入txt文件 。

 

添加office引用

.net中对office中的word及ppt进行编程时,确保安装office时已经安装了word,ppt可编程组件(自定义安装时可查看)或者安装“Microsoft Office 2003 Primary Interop Assemblies”

安装后,在编程页面添加引用:

添加引用-com—microsoft powerpoint object 11.0 libaray/word 11.0 object library;

还得添加office组件

using Microsoft.Office.Interop.Word;

using Microsoft.Office.Interop.PowerPoint;

 

using org.pdfbox.pdmodel;                     

using org.pdfbox.util;

 

using Microsoft.Office.Interop.Word;

using Microsoft.Office.Interop.PowerPoint;

public void pdf2txt(FileInfo file,FileInfo txtfile)

    {

        PDDocument doc = PDDocument.load(file.FullName);

        PDFTextStripper pdfStripper = new PDFTextStripper();

        string text = pdfStripper.getText(doc);

            StreamWriter swPdfChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));

        swPdfChange.Write(text);

        swPdfChange.Close();

    }

 

对于doc文件中的表格,读出的结果是去除掉了网格线,内容按行读取。

    public void word2text(FileInfo file,FileInfo txtfile)

    {

 

        object readOnly = true;

        object missing = System.Reflection.Missing.Value;

        object fileName = file.FullName;

        Microsoft.Office.Interop.Word.ApplicationClass wordapp = new Microsoft.Office.Interop.Word.ApplicationClass();

        Document doc = wordapp.Documents.Open(ref fileName,

    ref missing, ref readOnly, ref missing, ref missing, ref missing,

    ref missing, ref missing, ref missing, ref missing, ref missing,

    ref missing, ref missing, ref missing, ref missing, ref missing);

        string text = doc.Content.Text;

        doc.Close(ref missing, ref missing, ref missing);

        wordapp.Quit(ref missing, ref missing, ref missing);

        StreamWriter swWordChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));

        swWordChange.Write(text);

        swWordChange.Close();

 

    }

 

    public void ppt2txt(FileInfo file, FileInfo txtfile)

    {

         Microsoft.Office.Interop.PowerPoint.Application pa = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();

        Microsoft.Office.Interop.PowerPoint.Presentation pp = pa.Presentations.Open(file.FullName,

                        Microsoft.Office.Core.MsoTriState.msoTrue,

                        Microsoft.Office.Core.MsoTriState.msoFalse,

                        Microsoft.Office.Core.MsoTriState.msoFalse);

        string pps = "";

        StreamWriter swPPtChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));

       

        foreach (Microsoft.Office.Interop.PowerPoint.Slide slide in pp.Slides)

        {

            foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes)

           

                pps += shape.TextFrame.TextRange.Text.ToString();

   

        }

        swPPtChange.Write(pps);

        swPPtChange.Close();

 

   

    }

 

读取不同类型的文件

    public StreamReader text2reader(FileInfo file)

    {

        StreamReader st = null;

        switch (file.Extension.ToLower())

        {

            case ".txt":

                st = new StreamReader(file.FullName, Encoding.GetEncoding("gb2312"));

                break;

            case ".doc":

                FileInfo wordfile = new FileInfo(@"E:\my programs\200807program\FileSearch\App_Data\word2txt.txt");//不能使用相对路径,想办法改进

                word2text(file, wordfile);

                st = new StreamReader(wordfile.FullName, Encoding.GetEncoding("gb2312"));

                break;

            case ".pdf":

                FileInfo pdffile = new FileInfo(@"E:\my programs\200807program\FileSearch\App_Data\pdf2txt.txt");

                pdf2txt(file, pdffile);

                st = new StreamReader(pdffile.FullName, Encoding.GetEncoding("gb2312"));

                break;

            case".ppt":

                FileInfo pptfile = new FileInfo(@"E:\my programs\200807program\FileSearch\App_Data\ppt2txt.txt");

                ppt2txt(file,pptfile);

                st = new StreamReader(pptfile.FullName,Encoding.GetEncoding("gb2312"));

                break;

        }

        return st;

    }

 

分享到:
评论

相关推荐

    C# XmlToList xml转换成对象,Xml转对象

    主要实现读取xml文件内容然后转换成List&lt;T&gt;对象,两种实现方法。

    C# 解析json格式数据为IList

    C# 解析json格式数据为IList&lt;T&gt;

    设计模式资料汇总

    .pdf&lt;br&gt;JAVA设计模式.chm&lt;br&gt;软件设计的七大原则.doc&lt;br&gt;设计之道.pdf&lt;br&gt;C#设计模式分析.doc&lt;br&gt;C#设计模式-微软.rar&lt;br&gt;从追MM谈Java的23种设计模式.txt&lt;br&gt;什么是OO思想.txt&lt;br&gt;探寻软件的永恒之道.txt&lt;br&gt;你还...

    C#编程经验技巧宝典

    58&lt;br&gt;&lt;br&gt;0081 文本中首字母改为大写 59&lt;br&gt;&lt;br&gt;0082 C#随机数的产生 59&lt;br&gt;&lt;br&gt;0083 身份证从15位升至18位算法 60&lt;br&gt;&lt;br&gt;0084 十进制数转二进制数的算法 60&lt;br&gt;&lt;br&gt;0085 十进制数转八进制数的算法 61...

    C#+List+GridControl实现主从表嵌套

    C#+List&lt;T&gt;+GridControl实现主从表嵌套

    PDF精华

    &lt;br&gt;http://www.cnblogs.com/ghd258/articles/257711.html&lt;br&gt;&lt;br&gt;精典浮动网页&lt;br&gt;http://www.menllo.com/11296/favorite&lt;br&gt;&lt;br&gt;获得PDF页数&lt;br&gt;http://topic.csdn.net/t/20061211/14/5221920.html&lt;br&gt;&lt;br&gt;读取PDF...

    C#.net_经典编程例子400个

    273&lt;br&gt;实例190 获取窗口文本 273&lt;br&gt;实例191 判断文件是否正在被使用 274&lt;br&gt;实例192 在程序中调用.HLP文件 275&lt;br&gt;实例193 C#中实现文件拖放 276&lt;br&gt;实例194 文件比较 276&lt;br&gt;第7章 操作系统与Windows...

    C# xmlToList xml转换成对象

    主要实现读取xml文件内容然后转换成List&lt;T&gt;对象,两种实现方法。

    北大青鸟第二学期4.0 S2所有资料 四

    一共有5部分,这是第四部分&lt;br&gt;&lt;br&gt;大家下载时要记得评分,这样你们就不要资源分了&lt;br&gt;&lt;br&gt;java WEB &lt;br&gt;&lt;br&gt;COT&lt;br&gt;&lt;br&gt;sql server &lt;br&gt;&lt;br&gt;Testing&SQA&lt;br&gt;&lt;br&gt;winFormsPPT&lt;br&gt;&lt;br&gt;C#&lt;br&gt;

    c# 操作 execl的dll文件

    里面有个文本文件介绍怎么操作 导入dll文件,具体工具箱中 选择项 添加&lt;br&gt; ExcelFile excelFile = new ExcelFile();&lt;br&gt; ExcelWorksheet sheet = excelFile.Worksheets.Add("WolfSpider");&lt;br&gt;&lt;br&gt; int columns = ...

    C# 文件上传、带进度(FTP类)

    功能描述:&lt;br&gt;建立FTP链接&lt;br&gt;支持代理&lt;br&gt;多种重载的同步上传文件&lt;br&gt;多种重载的异步上传文件&lt;br&gt;多种重载的同步下载文件&lt;br&gt;多种重载的异步下载文件&lt;br&gt;上传文件的进度百分比&lt;br&gt;下载文件的进度白分比&lt;br&gt;有区分...

    北大青鸟第二学期4.0 S2所有资料 二

    一共有5部分,这是第二部分&lt;br&gt;&lt;br&gt;大家下载时要记得评分,这样你们就不要资源分了&lt;br&gt;&lt;br&gt;java WEB &lt;br&gt;&lt;br&gt;COT&lt;br&gt;&lt;br&gt;sql server &lt;br&gt;&lt;br&gt;Testing&SQA&lt;br&gt;&lt;br&gt;winFormsPPT&lt;br&gt;&lt;br&gt;C#

    C#读取xls文件

    C#读取xls文件工作薄&lt;br&gt;C#读取xls文件工作薄

    ACCP5.0-S2-C#OOP项目-影院售票系统

    www.fy580.cn&lt;br&gt;&lt;br&gt;北大青鸟ACCP5.0二期 --- &lt;br&gt;&lt;br&gt;深入.NET平台和C#编程 ---&lt;br&gt;&lt;br&gt;项目实战 --- 《影院售票系统》&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;ShowList.xml --- XML文件&lt;br&gt;&lt;br&gt;影院售票系统V1.0.ppt --- 指导PPT&lt;br&gt;...

    C# 代码注释清除工具 1.3

    清除C#代码中所有注释信息,主要清除格式如下:&lt;br&gt;1、多行注释&lt;br&gt;/*&lt;br&gt;.....&lt;br&gt;*/&lt;br&gt;2、单行注释&lt;br&gt;与 // ********&lt;br&gt;3、类注释&lt;br&gt;/// &lt;summary&gt;&lt;br&gt;/// 内容&lt;br&gt;/// &lt;/summary&gt;&lt;br&gt;4、展开或折叠的代码块...

    winform c# pdf文件转换doc文件和 png 图片格式 PDF转word 和图片

    采用C#开发语言,借助第三方Aspose.Pdf.dll及Spire.Pdf.dll 对pdf文件进行处理,可以把pdf文件转换成doc 或者docx png等格式,通过代码大家可以进行自己重新开发,核心代码已经编写完成,下载后可以直接运行进行pdf...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    &lt;P&gt;map集合转化成xml字符串&lt;/P&gt; &lt;P&gt;xml字符串转化成map集合&lt;/P&gt; &lt;P&gt;list集合转化成xml字符串&lt;/P&gt; &lt;P&gt;xml字符串转化成list集合&lt;/P&gt;

    C#源码大集合 01(共3卷)

    C#源码大集合 01(共3卷)&lt;br&gt;&lt;br&gt;之前分为四个包,后两个包上传不了,对于已经下载的朋友表示赚意,现在重新再发一次(改为3卷)&lt;br&gt;&lt;br&gt;&lt;br&gt;├─C#源码第一部分&lt;br&gt;│ ├─第1章 控件操作&lt;br&gt;│ │ ├─实例1 如何...

    C#源码大集合 03(共3卷)

    C#源码大集合 03(共3卷)&lt;br&gt;&lt;br&gt;之前分为四个包,后两个包上传不了,对于已经下载的朋友表示赚意,现在重新再发一次(改为3卷)&lt;br&gt;&lt;br&gt;&lt;br&gt;├─C#源码第一部分&lt;br&gt;│ ├─第1章 控件操作&lt;br&gt;│ │ ├─实例1 如何...

Global site tag (gtag.js) - Google Analytics