c#讀取doc,pdf,ppt,txt檔案

來源:互聯網
上載者:User

標籤:

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;

}

 

c#讀取doc,pdf,ppt,txt檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.