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#程序设计有所帮助。
0
投稿
猜你喜欢
- 先吐槽一下,现在的Bean Searcher操作手册的指引弱的可怜…对我这样的小白及其不友好话不多说直入主题1、首先肯
- 详解C#编程获取资源文件中图片的方法本文主要介绍C#编程获取资源文件中图片的方法,涉及C#针对项目中资源文件操作的相关技巧,以供借鉴参考。具
- Mybatis 入参方式单个基本类型或 String 参数在 mapper 文件中随便写<select id=""
- 一、前言虽然jdk1.9版本已经问世,但是许多其他的配套设施并不一定支持jdk1.9版本,所以这里仅带领你配置jdk1.8。而jdk1.9的
- 一、背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,一般我们检
- 本文实例讲述了C#编程实现四舍五入、向上及下取整的方法。分享给大家供大家参考,具体如下:在处理一些数据时,我们希望能用“四舍五入”法实现,但
- 如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HT
- java和javascript长得是如此地相像,那么它们是一回事儿吗?现在让我来揭晓答案吧!JavaScript 是一种嵌入式脚本文件,直接
- 本文实例为大家分享了C#强制转换和尝试转换的方法,供大家参考,具体内容如下将String[]类型的Object类型,转换为String[]类
- 一、MVC架构1、MVC是什么MVC是模型Model、视图View和控制器Controller的简称,是一种架构规范降低了业务逻辑与视图之间
- 前言通过Mybatis做7000+数据量的批量插入的时候报错了,error log如下: , ('G61010352', &
- idea默认带的equals和hashcode引起的bug最近因规范需要,统一使用idea,使用的版本为2017.4.建立一个实体类,在添加
- Java 用反射设置对象的属性值实例详解/** * 用反射设置对象的属性值 * @param obj 需要設置值的對象 * @param f
- 一,项目简介经过调查研究进行开发设计的这款仓库管理系统,主要是为商家提供商品货物进销存的信息化管理,以便让商家在竞争如此激烈的今天占据一定的
- 我们在k8s集群成功搭建了Prometheus服务。今天,我们将在springboot2.x中使用prometheus记录指标。一、我们需要
- 下载UEditorhttps://ueditor.baidu.com/website/download.html下载完整源码和JSP版本Sp
- 今天可是遇到一个很简单的需求,但是却让我蛋疼了半天。滑动屏幕控制物体旋转,但是旋转的角度要在-60到60之间。乍一听这简直是小儿科啊。判断一
- 很多人使用Nacos其实并没有真正的去读过官网,以至于忽视了很多重要的细节,Nacos为我们提供了大量API,但是这些API默认是没有开启认
- 前几天在看一个cameraCTSbug时,结果在一个java for循环上有点蒙。正好赶上这个点总结一下。java中的控制结构:条件结构这里
- 路径分隔符:Windows下是“\”unix|linux下是“/”考虑到程序的可移植性,创建文件时建议大家选用"/",因