使用C#读取PDF中所有文本内容

先安装如下包
在这里插入图片描述

using iTextSharp.text.pdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;namespace ReadPdfText
{class Program{static void Main(string[] args){string path = "0017_审判流程管理信息表2.pdf";var text = ReadPFD2(path);Console.WriteLine(text);Console.ReadKey();}public static string OnCreated(string filepath){try{string pdffilename = filepath;PdfReader pdfReader = new PdfReader(pdffilename);int numberOfPages = pdfReader.NumberOfPages;string text = string.Empty;for (int i = 1; i <= numberOfPages; ++i){iTextSharp.text.pdf.parser.ITextExtractionStrategy strategy = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();text += iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfReader, i, strategy);}pdfReader.Close();return text;}catch (Exception ex){throw ex;//StreamWriter wlog = File.AppendText(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\mylog.log");//wlog.WriteLine("出错文件:" + ex.FullPath + "原因:" + ex.ToString());//wlog.Flush();//wlog.Close(); return null;}}public static string ReadPFD2(string path){// string path = path;// @"D:\ydfile\d4bab8ff-26ff-4ddf-a602-872f6988db86_.pdf";string text = string.Empty;try{string pdffilename = path;StringBuilder buffer = new StringBuilder();//Create a pdf document.using (Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument()){// Load the PDF Documentdoc.LoadFromFile(pdffilename);// String for hold the extracted textforeach (Spire.Pdf.PdfPageBase page in doc.Pages){buffer.Append(page.ExtractText());}doc.Close();}//save texttext = buffer.ToString();return text;}catch (Exception ex){//DHC.EAS.Common.LogInfo.Debug("读取PDF文件返回=" + text);//DHC.EAS.Common.LogInfo.Debug("读取PDF文件错误", ex);return null;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/453617.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#string方法对比

字符串的截取匹配操作在开发中非常常见&#xff0c;比如下面这个示例&#xff1a;我要匹配查找出来字符串数组中以“abc”开头的字符串并打印&#xff0c;我下面分别用了两种方式实现&#xff0c;代码如下&#xff1a; using System; namespace ConsoleApp23{ class Progra…

HCIA--DHCP动态分配ip地址实验

要求&#xff1a; 1. pc1&#xff0c;pc2不能获取 250-254的地址 2. pc3固定获取172.16.1.3/24 pc4固定获取172.16.1.6/24 1. 在AR1上配接口ip、划分网段&#xff0c;创建地址池&#xff0c;开启dhcp: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 2…

Vue2的双向数据绑定原理是什么

Vue2的双向数据绑定原理是什么 作为一名前端开发者&#xff0c;在日常的开发过程中&#xff0c;我们经常会用到Vue.js这个流行的前端框架。Vue.js以其简洁易用的语法和强大的性能优化功能&#xff0c;成为许多开发者的首选。而Vue.js最核心的特性之一就是双向数据绑定。那么&a…

L1-023 输出GPLT-java

输入样例&#xff1a; pcTclnGloRgLrtLhgljkLhGFauPewSKgt输出样例&#xff1a; GPLTGPLTGLTGLGLL 思路 设置一个GPLT的计数器 然后遍历的时候每次对计数器的个数减一 import java.io.*;public class Main {public static void main(String[] args) throws IOException {B…

【npm】安装全局包,使用时提示:不是内部或外部命令,也不是可运行的程序或批处理文件

问题 如图&#xff0c;明明安装Vue是全局包&#xff0c;但是使用时却提示&#xff1a; 解决办法 使用以下命令任意一种命令查看全局包的配置路径 npm root -g 然后将此路径&#xff08;不包括node_modules&#xff09;添加到环境变量中去&#xff0c;这里注意&#xff0c;原…

Python 潮流周刊#38:Django + Next.js 构建全栈项目

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…

echarts使用之地图(五)

1 基本使用 百度地图 API : 使用百度地图的 api , 它能够在线联网展示地图 , 百度地图需要申请 ak 矢量地图 : 可以离线展示地图 , 需要开发者准备矢量地图数据。本文使用该方式。 json格式的数据如下&#xff1a; 格式参照&#xff1a;GeoJSON <!DOCTYPE html&…

【Pwn | CTF】BUUCTF rip1

天命&#xff1a;第二题pwn&#xff0c;这次知道了目标就是瞄准system函数&#xff0c;如果里面是 /bin/sh 之类的就是直接getshell&#xff0c;如果是普通命令的话&#xff0c;应该就是getflag了 IDA64位打开文件 第8行的函数是把一个东西放进S这个字符串数组变量里 sub_4006…

操作系统基础:文件系统基础【上】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;OS从基础到进阶 ⚔️1 文件系统概述⚙️1.1 文件管理应该解决的问题&#x1f4e1;1.1.1 文件属性&#x1f4e1;1.1.2 文件数据的组织&#x1f4e1;1.1.3 文件之间的组织&#x1f4e1;1.1.4…

2024最新版鸿蒙HarmonyOS开发工具安装使用指南

2024最新版鸿蒙HarmonyOS开发工具安装使用指南 By JacksonML 0. 什么是鸿蒙Harmony OS&#xff1f; 华为鸿蒙系统&#xff08;HUAWEI Harmony OS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分…

Webpack源码浅析

webpack启动方式 webpack有两种启动方式&#xff1a; 通过webpack-cli脚手架来启动&#xff0c;即可以在Terminal终端直接运行&#xff1b; webpack ./debug/index.js --config ./debug/webpack.config.js通过require(webpack)引入包的方式执行&#xff1b;其实第一种方式最终…

C++:第十五讲高精度算法

每日C知识 system("color xx);是改变字体及背景颜色&#xff0c;前一个x代表一个数字&#xff0c;可以改变背景颜色&#xff0c;后一个x代表一个数字&#xff0c;可以改变字体颜色 &#xff0c;但都是根据颜色表来的。 记住&#xff1a;要加头文件&#xff1a;#include&l…