C#编程读取文档Doc、Docx及Pdf内容的方法
作者:欧阳不疯 发布时间:2023-01-16 06:59:29
标签:C#,Doc,Docx,Pdf
本文实例讲述了C#编程读取文档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
/*
作者: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)
{
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+)", "");
}
}
}
希望本文所述对大家的C#程序设计有所帮助。


猜你喜欢
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- web采集的数据为 %u6B63%u5F0F%u4EBA%u5458,需要读取并转换为python对象,想了下不调用Javascript去e
- 我们有时用C#需要实现锁住文件的功能,该如何锁住文件呢?下面小编给大家介绍一下。首先大家需要到码云里面找到如下图所示的文件锁的项目,如下图所
- launch我们经常用,今天来看看它是什么原理。建议: 食用本篇文章之前记得先食用Kotlin协程之createCoroutine和star
- springboot项目不配置数据源启动报错spring boot默认会加载org.springframework.boot.autocon
- 本文实例讲述了Android桌面插件App Widget用法。分享给大家供大家参考,具体如下:应用程序窗口小部件App Widgets应用程
- 总结java里面关于获取当前时间的一些方法System.currentTimeMillis()获取标准时间可以通过System.curren
- 本文实例总结了C#常见应用函数。分享给大家供大家参考,具体如下:1、页面写CS代码(代码内嵌)<%@ Import Namespace
- 前言在java Thread类中,我们会看到interrupt()、interrupted()及isInterrupted(),在大多数情况
- Android游戏开发中主要的类除了控制类就是显示类,
- 1.统计字符串字母个数(并且保持字母顺序)比如: aabbbbbbbba喔喔bcab cdabc deaaa目前我做知道的有5种方式噢,如果
- 1.修改系统默认的Dialog样式(风格、主题)2.自定义Dialog布局文件3.可以自己封装一个类,继承自Dialog或者直接使用Dial
- Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法一直用Ecl
- 今天弄了一个多小时,写了一个GPS获取地理位置代码的小例子,包括参考了网上的一些代码,并且对代码进行了一些修改,希望对大家的帮助。具体代码如
- 上篇文章给大家介绍了springboot对接第三方微信授权及获取用户的头像和昵称等等1 账户注销1.1 在SecurityConfig中加入
- 数组作为函数的参数传递首地址。A进行修改,a同时也会进行修改。数组参数的传递机制来源:https://blog.csdn.net/weixi
- 什么是注解?对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安
- 1. 传统方式:在内存中读取文件内容读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速
- 入门Springboot项目创建在IDEA中创建即可。注意点:1、所有文件都需要放在 :Application文件的同级或下级目录中2、ap
- 汉诺塔游戏一旦掌握了规律,其实是有点单调和无聊的,不过却是学习递归的一个绝佳例子,想当初学习老谭C的时候,就卡在这儿好长时间。对初学编程的人