c#读取doc,pdf,ppt,txt文件

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;

publicvoid pdf2txt(FileInfo file,FileInfo txtfile)

{

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

PDFTextStripper pdfStripper =newPDFTextStripper();

string text = pdfStripper.getText(doc);

StreamWriter swPdfChange =newStreamWriter(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 slidein pp.Slides)

{

foreach (Microsoft.Office.Interop.PowerPoint.Shape shapein 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 = newStreamReader(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;

}

时间: 2024-10-04 14:03:59

c#读取doc,pdf,ppt,txt文件的相关文章

Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

http://www.cnblogs.com/gossip/p/3473024.html Asp.net实现直接在浏览器预览Word.Excel.PDF.Txt文件(附源码) 功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome).IE9/10.Firefox通过 分类文件及代码说明  DemoFiles 存放可测试文件 Default.aspx  启动页 ExcelPreview.cs  Excel预览类 public static void Priview(Sys

【C#】读取和写入本地txt文件

本次我们要使用C#的方式进行txt文件的读取和写入,在Unity的开发过程中同样适用,下面来具体实现吧. 创建文件的打开.关闭.读取.写入类:MyFileStream 要引入System.IO和System.Runtime.Serialization.Formatters.Binary和,一个是文件读取的IO类和另一个是二进制类,具体代码如下: using UnityEngine; using System.Collections; using System.Runtime.Serializat

JavaSE8基础 BufferedReader readLine 整行读取实现复制粘贴txt文件

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) information: 被复制的文本文件内容 code: package jizuiku0; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutpu

控制台程序读取WIKI形式的TXT文件并一表格的形式显示在Word中

1 'Imports System.Collections.Generic 2 'Imports System.Text 3 'Imports System.IO 4 'Imports office = Microsoft.Office.Core 5 'Imports word = Microsoft.Office.Interop.Word 6 Module Module1 7 8 Sub Main(ByVal args As String()) '这里的参数args是字符串数组,传递的是\bi

java 读取不同编码的txt文件 中文乱码二

之前的文章中判断txt的编码,发现utf-8无BOM编码格式无法检测出来. 当无法检测时(返回的code为空时),再使用一下方法则可以了. /** * 传入一个文件(File)对象,检查文件编码 * * @param file * File对象实例 * @return 文件编码,若无,则返回null * @throws FileNotFoundException * @throws IOException */ public String guessFileEncoding(File file)

C# 读取大文件 (可以读取3GB大小的txt文件)

在处理大数据时,有可能 会碰到 超过3GB大小的文件,如果通过 记事本 或 NotePad++去打开它,会报错,读不到任何文件. 如果你只是希望读取这文件中的前几行,怎么办,下面的工具会帮您解决这个问题. 而且读取时间很快. 工具下载地址: http://pan.baidu.com/s/1y34wt      (15KB左右, 备注:要运行这个工具,需要您的机器已装过 .netFramework4.0 ) 源代码下载地址:http://pan.baidu.com/s/1jAyjl       

java读取txt/pdf/xls/xlsx/doc/docx/ppt/pptx

环境准备txt利用common-iopdf利用pdfbox剩下的用POI关于POI,读取xls没啥特别的,主要是读取doc和ppt,需要下载poi源代码,然后将poi-src-3.7-20101029.zip\poi-3.7\src\scratchpad\src下的所有文件copy到工程,或者自己封装个jar包jar包依赖 code如下:package test; import java.io.BufferedInputStream;import java.io.File;import java

C#生成PDF文档,读取TXT文件内容

using System.IO;using iTextSharp.text;using iTextSharp.text.pdf; //需要在项目里引用ICSharpCode.SharpZipLib.dll和itextsharp.dllpublic string TxtFilePath;public string SavePdfPath;//保存PDF的路径 #region 读取TXT内容        private string ReadXieyi(string FilePath)      

word和.txt文件转html 及pdf文件, 使用poi jsoup itext心得

word和.txt文件转html 及pdf文件, 使用poi jsoup  itext心得本人第一次写博客,有上面不足的或者需要改正的希望大家指出来,一起学习交流讨论.由于在项目中遇到了这一个问题,在网上也找了很多方法,感觉千篇一律,总有一些问题,因此总结出word转html和pdf文件使用方法.虽然poi功能不是很强大,但毕竟不依靠本地office软件,同样还有一种方式使用jacob也可以将word转html,不过这个方式要依靠本地office,而且只能在windows平台下,不支持unix系