本文转自:http://blog.csdn.net/wangqiuyun/article/details/8548779

在.NET下读取PDF文本用到的类库主要有两个:PDFBox和iTextSharp。

先说PDFBox,这个类库据说功能很强大,本人在这只是简单介绍一下:

1、下载PDFBox

下载地址:http://sourceforge.net/projects/pdfbox/

2、引用动态链接库

解压缩下载的PDFBox,找到其中的Bin目录,需要在项目中添加引用的dll文件有: IKVM.GNU.Classpath.dll PDFBox-0.7.3.dll FontBox-0.1.0-dev.dll IKVM.Runtime.dll 将以上4个文件引用到项目中,在文件中需要引入以下2个命名空间: using org.pdfbox.pdmodel; using org.pdfbox.util;

3、API的使用方法看代码:

[csharp] view plaincopyprint?
  1. using org.pdfbox.pdmodel;
  2. using org.pdfbox.util;
  3. public void pdf2txt(FileInfo file,FileInfo txtfile)
  4. {
  5. PDDocument doc = PDDocument.load(file.FullName);
  6. PDFTextStripper pdfStripper = new PDFTextStripper();
  7. string text = pdfStripper.getText(doc);
  8. StreamWriter swPdfChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));
  9. swPdfChange.Write(text);
  10. swPdfChange.Close();
  11. }
using org.pdfbox.pdmodel;
using org.pdfbox.util;
public void pdf2txt(FileInfo file,FileInfo txtfile)
{PDDocument doc = PDDocument.load(file.FullName);PDFTextStripper pdfStripper = new PDFTextStripper();string text = pdfStripper.getText(doc);StreamWriter swPdfChange = new StreamWriter(txtfile.FullName, false, Encoding.GetEncoding("gb2312"));swPdfChange.Write(text);swPdfChange.Close();
}

iTextSharp,其实很多时候都是用于生成PDF,但是他读取PDF的能力也不差,使用如下:

1、下载iTextSharp

下载地址:http://sourceforge.net/projects/itextsharp/

2、引用动态链接库

解压缩下载的压缩包里面的itextsharp-dll-core.zip,得到itextsharp.dll,在项目中添加引用itextsharp.dll即可 在文件中需要引入以下3个命名空间: using iTextSharp; using iTextSharp.text; using iTextSharp.text.pdf;

3、API的使用方法看代码:

[csharp] view plaincopyprint?
  1. private string OnCreated(string filepath)
  2. {
  3. try
  4. {
  5. string pdffilename = filepath;
  6. PdfReader pdfReader = new PdfReader(pdffilename);
  7. int numberOfPages = pdfReader.NumberOfPages;
  8. string text = string.Empty;
  9. for (int i = 1; i <= numberOfPages; ++i)
  10. {
  11. byte[] bufferOfPageContent = pdfReader.GetPageContent(i);
  12. text += System.Text.Encoding.UTF8.GetString(bufferOfPageContent);
  13. }
  14. pdfReader.Close();
  15. return text;
  16. }
  17. catch (Exception ex)
  18. {
  19. StreamWriter wlog = File.AppendText(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase+"\\mylog.log");
  20. wlog.WriteLine("出错文件:" + e.FullPath + "原因:" + ex.ToString());
  21. wlog.Flush();
  22. wlog.Close();return null;
  23. }
  24. }

转载于:https://www.cnblogs.com/freeliver54/p/5048532.html

[转].NET下读取PDF文本相关推荐

  1. java读取pdf文本转换html

    java读取pdf文本转换html 完整代码地址 也就两个文件 java读取pdf中的纯文字,这里使用的是pdfbox工具包 maven引入如下配置 <dependency><gro ...

  2. python怎么读取pdf为文本_python怎么读取pdf文本内容

    python读取pdf文本内容的方法:首先打开相应的python脚本文件:然后使用PDFMiner工具来读取pdf文本内容:最后通过print输出读取后的内容即可. python读取pdf文本内容 p ...

  3. pdfplumber读取PDF文本内容时出现cid字符

    用pdfplumber读取pdf页眉文本内容时,核心的代码如下: pdf = pdfplumber.open(bfilePath) words = pdf.pages[0].extract_words ...

  4. C# 读取PDF文本和图片

    转自:https://zhuanlan.zhihu.com/p/137197267 本文介绍如何通过C#程序来读取PDF文档中的文本好图片. 所需工具:Free Spire.PDF for .NET ...

  5. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  6. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  7. delphi使用Foxit Quick PDF Library读写pdf文本和图片

    简介: Debenu Quick PDF Library(PDF编程开发工具)提供一套全方位的 PDF API 函数,帮助您快速简便地处理 PDF 文件.从文档属性的基本操作到创建您自己的 PDF 查 ...

  8. python读取pdf文件_深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  9. python实现:读取PDF文件中的英文单词,并将前二十个高频词储存到一个docx文档中

    总体思路如下: 1.读取PDF文件,将其中的英文单词提取出来 2.获得每个英文单词的词频,通过字典将英文单词及其词频配对 3.将英文单词按照词频由大到小排序 4.创建并写入docx文档 首先打开PDF ...

最新文章

  1. IAR生产HEX文件
  2. Spring Cloud Alibaba源码 - 22 Feign 源码解析
  3. Django创建项目后,项目文件夹下的组成部分
  4. Linux命令执行顺序— ||和和; 比较
  5. 正则基础之 NFA引擎匹配原理
  6. mysql sum计算效率很慢_MySQL基础之分组函数
  7. protobuf---messge嵌套get set
  8. android 怎么调用js项目_APP逆向神器之Frida【Android初级篇】
  9. java数组硬盘读取,java中如何通过IO流将稀疏数组写入磁盘和从磁盘中读取,整行存,整行取...
  10. HarmonyOS 正式登陆华为手机,4月陆续升级!
  11. 小辣椒手机创始人王晓雁加入小米;手机 QQ 可显示对方实时电量;Git Extensions 3.3.1 发布 | 极客头条...
  12. wince6-Error: failed PB timebomb check
  13. HTML5 ——《第二章—01》HTML5页面元素
  14. 站在巨人的肩膀上学习Android开发
  15. 财子说丨王国斌:相信时间的力量
  16. web程序设计-动态网页技术?06
  17. 重装win10专业版系统
  18. JS 实现小游戏 打砖块
  19. LaTeX中的拼写及语法检查
  20. 怎么关闭win10自带杀毒软件

热门文章

  1. Camera服务之--架构浅析
  2. python3安装步骤
  3. python 输出结果图文混排_div css图文混排列表设计中的基础问题总结
  4. python安装sqlite3_Python安装sqlite3
  5. Gibbs sampling [Gibbs采样]
  6. JZOJ__Day 2:【NOIP普及模拟】分数
  7. BZOJ 4044 Luogu P4762 [CERC2014]Virus Synthesis (回文自动机、DP)
  8. 服务器怎么查看数据库文件,怎么查看服务器上的数据库文件
  9. linux变量赋值用中括号,Shell脚本定义变量和重新赋值
  10. keil写文字怎么会乱码_朋友圈发婚纱照配文字怎么写?