您还未登录!|登录|注册|帮助CSDN首页资讯论坛博客下载搜索更多o记忆空间不够目录视图摘要视图订阅2012CSDN网站六大类职位火热招聘中!免费下载《SKC易云解决方案》CSDN亲密携手阿里云重磅推出云邮箱服务HTML5群组诚募管理员,“活跃之星”活动火热进行中C#读取doc,pdf,ppt文件分类:0807项目类2008-10-2318:413042人阅读评论(4)收藏举报docpdfppt与txt之间的转换:组件的作用一般是将文件读出成字符格式,并不是单纯的转换文件名后缀,所以需要将读出的东西写入txt文件。添加office引用中对office中的word及ppt进行编程时,确保安装office时已经安装了word,ppt可编程组件(自定义安装时可查看)或者安装“MicrosoftOffice2003PrimaryInteropAssemblies”安装后,在编程页面添加引用:添加引用-com—microsoftpowerpointobject11.0libaray/word11.0objectlibrary;还得添加office组件usingMicrosoft.Office.Interop.Word;usingMicrosoft.Office.Interop.PowerPoint;usingorg.pdfbox.pdmodel;usingorg.pdfbox.util;usingMicrosoft.Office.Interop.Word;usingMicrosoft.Office.Interop.PowerPoint;publicvoidpdf2txt(FileInfofile,FileInfotxtfile){PDDocumentdoc=PDDocument.load(file.FullName);PDFTextStripperpdfStripper=newPDFTextStripper();stringtext=pdfStripper.getText(doc);StreamWriterswPdfChange=newStreamWriter(txtfile.FullName,false,Encoding.GetEncoding("gb2312"));swPdfChange.Write(text);swPdfChange.Close();}对于doc文件中的表格,读出的结果是去除掉了网格线,内容按行读取。publicvoidword2text(FileInfofile,FileInfotxtfile){objectreadOnly=true;objectmissing=System.Reflection.Missing.Value;objectfileName=file.FullName;Microsoft.Office.Interop.Word.ApplicationClasswordapp=newMicrosoft.Office.Interop.Word.ApplicationClass();Documentdoc=wordapp.Documents.Open(reffileName,refmissing,refreadOnly,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing);stringtext=doc.Content.Text;doc.Close(refmissing,refmissing,refmissing);wordapp.Quit(refmissing,refmissing,refmissing);StreamWriterswWordChange=newStreamWriter(txtfile.FullName,false,Encoding.GetEncoding("gb2312"));swWordChange.Write(text);swWordChange.Close();}publicvoidppt2txt(FileInfofile,FileInfotxtfile){Microsoft.Office.Interop.PowerPoint.Applicationpa=newMicrosoft.Office.Interop.PowerPoint.ApplicationClass();Microsoft.Office.Interop.PowerPoint.Presentationpp=pa.Presentations.Open(file.FullName,Microsoft.Office.Core.MsoTriState.msoTrue,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoFalse);stringpps="";StreamWriterswPPtChange=newStreamWriter(txtfile.FullName,false,Encoding.GetEncoding("gb2312"));foreach(Microsoft.Office.Interop.PowerPoint.Slideslideinpp.Slides){foreach(Microsoft.Office.Interop.PowerPoint.Shapeshapeinslide.Shapes)pps+=shape.TextFrame.TextRange.Text.ToString();}swPPtChange.Write(pps);swPPtChange.Close();}读取不同类型的文件publicStreamReadertext2reader(FileInfofile){StreamReaderst=null;switch(file.Extension.ToLower()){case".txt":st=newStreamReader(file.FullName,Encoding.GetEncoding("gb2312"));break;case".doc":FileInfowordfile=newFileInfo(@"E:/myprograms/200807program/FileSearch/App_Data/word2txt.txt");//不能使用相对路径,想办法改进word2text(file,wordfile);st=newStreamReader(wordfile.FullName,Encoding.GetEncoding("gb2312"));break;case".pdf":FileInfopdffile=newFileInfo(@"E:/myprograms/200807program/FileSearch/App_Data/pdf2txt.txt");pdf2txt(file,pdffile);st=newStreamR...