C#中编程读取Word文档和Pdf的内容

最近项目需要实现一个功能:读取doc,docx,pdf文件内容。在网上搜罗许久,还是发现有些好东西可以直接拿来使用,要不然就得自己发明轮子了。接下来我就简单介绍了用了哪些组件来实现这个功能的。

Doc文档:Microsoft Word 14.0 Object Library (GAC对象,调用前需要安装word。安装的word版本不同,COM的版本号也会不同)

Docx文档:Microsoft Word 14.0 Object Library (GAC对象,调用前需要安装word。安装的word版本不同,COM的版本号也会不同)

Pdf文档:PDFBox

DEMO

/*
     作者:GhostBear
 *   博客地址:Http://blog.csdn.net/ghostbear
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;  

using org.pdfbox.pdmodel;
using org.pdfbox.util;  

using Microsoft.Office.Interop.Word;  

namespace TestPdfReader
{
    class Program
    {
        static void Main(string[] args)
        {  

            //PDF
            PDDocument doc = PDDocument.load(@"C:\resume.pdf");
            PDFTextStripper pdfStripper = new PDFTextStripper();
            string text = pdfStripper.getText(doc);
            string result = text.Replace('\t', ' ').Replace('\n', ' ').Replace('\r', ' ').Replace(" ", "");
            Console.WriteLine(result);  

            //Doc,Docx
            object docPath = @"C:\resume.doc";
            object docxPath = @"C:\resume.docx";
            object missing=System.Reflection.Missing.Value;
            object readOnly=true;  

            Application wordApp;
            wordApp = new Application();  

            Document wordDoc = wordApp.Documents.Open(ref docPath,
                                                  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 text2 = FilterString(wordDoc.Content.Text);  

            wordDoc.Close(ref missing, ref missing, ref missing);
            wordApp.Quit(ref missing, ref missing, ref missing);
            Console.WriteLine(text2);  

            Console.Read();  

        }  

        private static string FilterString(string input)
        {
            return Regex.Replace(input, @"(\a|\t|\n|\s+)", "");  

        }
    }
}

小结

如果需要在IIS上运行该代码,则需要配置组件“Microsoft Word 14.0 Object Library”的DCOM配置。具体细节可以参考文章:Word组件的DCOM配置。

代码下载:http://download.csdn.net/detail/ghostbear/4847887

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索replace
, c#读取text每行...
, string
, pdfbox
, missing
, using
, system
, java中pdfbox
, 2 pdfbox pdf
, docx转pdf
, ref
, pdfbox 2.0.1
, C# word编程
docx组件
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-12-21 22:28:39

C#中编程读取Word文档和Pdf的内容的相关文章

Word 2013中如何将Word文档转换为PDF文档

在Word2013中,用户可以将Word文档直接转换为PDF文件,从而真正做到Word转PDF不求人.Word2013中Word转PDF的步骤如下所述: 第1步,使用Word2013打开任意Word文档,依次单击"文件"→"另存为"按钮,如图2013080501所示. 图2013080301 单击"另存为"按钮 第2步,打开"另存为"选项卡,选择Word转PDF生成文件的保存位置.在打开的"另存为"对话框中

vc++编程问题-VC如何在线程中读取word文档内容?

问题描述 VC如何在线程中读取word文档内容? 创建了一个对话框的MFC工程 //全局变量 Documents docs; Selection selection; _Document doc; _Application wordApp; //*************************** CString *pstr,path,str; int i; path="C:\Documents and Settings\Administrator\桌面\新建文件夹\1.doc";/

在C#应用程序中读取WORD文档,需要引用哪个命令空间

问题描述 在C#windows应用程序中读取WORD文档,并对该文档做一定的修改需要引用哪个命令空间? 解决方案 解决方案二:MicrosoftWordXObjectLibrary,其中X为版本号.Word2007对应12.0,Word2003对应11.0,在Com选项卡下解决方案三:在要操作word文档的program.cs中,加上usingMSWord=Microsoft.Office.Interop.Word;usingSystem.IO;usingSystem.Reflection;其他

vb 读取word文档中的数据和图片

问题描述 vb 读取word文档中的数据和图片 http://bbs.csdn.net/topics/390528303?page=1 我遇到了和该帖同样的问题: 需要将一个doc文档中 按特定字符分割后提取出内容 内容不只有字符还有图 比如: /xxxxxxxxxxx[图片1]xxxx/ /xxxxxxxxxxxxxxxx[图片2]xxxxxxxxxxxxxxxx/xxxxxxx[图片3]/ 请大家给点建议 尽量详细 解决方案 建议通过ole连接word,然后你直接用VBA函数来实现,查找指定

java word 图片-java程序怎么读取word文档中的图片,然后把图片保存到其他路径上

问题描述 java程序怎么读取word文档中的图片,然后把图片保存到其他路径上 java程序怎么读取word文档中的图片,然后把图片保存到其他路径上,求指教,就代码,急等....

求助,如何通过VB读取word文档中的各级目录信息,请高手指点,送分!

问题描述 如何通过VB读取word文档中的各级目录信息,请高手指点~!送分,谢各路大侠~~ 解决方案 解决方案二:正在关注此项功能,目前唯一的想法是添加书签然后在判断,还没通过程序调试.另外这次要求用C#比较郁闷!

怎么用C#读取word文档中的图片和文字但不去除文字格式

问题描述 aspx后台代码怎么用C#读取word文档中的图片和文字保留文字格式,求详细代码和操作步骤,求教........ 解决方案 解决方案二:rtf富文本解决方案三:難........解决方案四:用编辑控件去网上找找...就像csdn这个回复的一样,当然这个不是很好的有更好的支持复制word的图片和文字..样式不会变的那种..解决方案五:不会...

C#读取word文档实例浅析

C#读取word文档是如何实现的呢?我们可以使用FileStream对象来把文本文 件里面的信息读取出来,但是对于word文档来说就不能使用这样的方法了. 这种情况下C#读取word文档的实现我们需要使用叫做" Microsoft Word 9.0 object library"COM组件来实现,它为我们提供了所有用来读取 word文档的对象和方法. 这里我们主要用Word.ApplicationClass下的方法来处理word应用程序.实现 的思路是先在内存中把这个word文档打开,

php通过baihui网API实现读取word文档并展示

  这篇文章主要介绍了php通过baihui网API实现读取word文档并展示的相关资料,需要的朋友可以参考下 项目中遇到一个小问题,想实现php 如何读取word文档,并将其内容原样显示可以 使用API 可以看看baihui.com 的写写应用 的API申请一个 APPKEY 就能使用,你可以看看 ... 对免费版本有限制 比如 excel 支持,可以参考我这个 appkey是我申请的,可以使用吧 ... 保存成本地的一个html文件 打开后直接使用 word 的类似 ? 1 2 3 4 5