转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51542309

相关文章:

  • 《Apache PDFbox开发指南之PDF文本内容挖掘》
  • 《 Apache PDFbox开发指南之PDF文档读取》

1、介绍

Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。Apache PDFBox还包含了数个命令行工具。
Apache PDFbox于2016年4月26日发布了最新的2.0.1版。

官网地址:https://pdfbox.apache.org/index.html

PDFBox 2.0.1 API在线文档:https://pdfbox.apache.org/docs/2.0.1/javadocs/

2、特征

Apache PDFBox主要有以下特征:
PDF读取、创建、打印、转换、验证、合并分割等特征。

3、开发实战

3.1、场景说明

读取PDF文本内容,样例中为读取体检报告文本内容。

3.2、所需jar包

pdfbox-2.0.1.jar下载地址

fontbox-2.0.1.jar下载地址

将上述两jar包添加到工程库中,如下:

3.3、代码编写

创建PdfReader类,编写下述功能函数。

package com.loongshaw;import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;import org.apache.pdfbox.io.RandomAccessBuffer;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;public class PdfReader {public static void main(String[] args){File pdfFile = new File("/Users/dddd/Downloads/0571888890423433356rrrr_182-93201510313223336-2.pdf");PDDocument document = null;try{// 方式一:/** InputStream input = null; input = new FileInputStream( pdfFile ); //加载 pdf 文档 PDFParser parser = new PDFParser(new RandomAccessBuffer(input)); parser.parse(); document = parser.getPDDocument(); **/// 方式二:document=PDDocument.load(pdfFile);// 获取页码int pages = document.getNumberOfPages();// 读文本内容PDFTextStripper stripper=new PDFTextStripper();// 设置按顺序输出stripper.setSortByPosition(true);stripper.setStartPage(1);stripper.setEndPage(pages);String content = stripper.getText(document);System.out.println(content);     }catch(Exception e){System.out.println(e);}}}

3.4、过程说明

PDF文件加载有两种方式,无明显差异,方式二代码较简洁:

// 方式一: InputStream input = null;input = new FileInputStream( pdfFile );//加载 pdf 文档PDFParser parser = new PDFParser(new RandomAccessBuffer(input));parser.parse();document = parser.getPDDocument();// 方式二:document=PDDocument.load(pdfFile);                  

3.5、执行结果

4、小结

本文仅介绍了利用Apache PDFbox相关开发包读取PDF文本,其他复杂功能暂未涉及,需要大家自己线下探索、尝试。

转载于:https://my.oschina.net/abcijkxyz/blog/724793

Apache PDFbox开发指南之PDF文档读取相关推荐

  1. Java使用 PDFBox 2.0 从 PDF 文档中读取所有文本

    在本教程中,我们将学习在 Java 程序中使用 PDFBox 2.0 库从 pdf 文档中读取所有文本. PDF 文档可能包含文本.嵌入图像等作为其内容.PDFBox 中的 PDFTextStripp ...

  2. 【报表技术】IReport图形化报表开发工具生成PDF文档

    [报表技术]IReport图形化报表开发工具生成PDF文档 新建一个文件. 由于IReport的默认设置是不支持中文的,IReport没有内置中文的包. 了解报表模板结构. ①title:报表标题. ...

  3. pdfbox创建pdf_PDFBox创建PDF文档

    现在让我们了解如何使用PDFBox库创建PDF文档. 创建一个空的PDF文档 可以通过实例化PDDocument类来创建一个空的PDF文档.使用这个类的Save()方法将文档保存在所需的位置. 以下是 ...

  4. 微信小程序开发指南,接口文档,工具下载使用

    相信前天,从事互联网行业人的朋友圈给刷爆了,前微信公众平台开始陆续对外发送小程序内测邀请,而小程序即被外界广为关注的微信"应用号". 小程序的推出也并非一蹴而就,早在2016年1月 ...

  5. unity 利用iTextSharp 开发doc转换pdf文档

    1:将iTextSharp插件导入到unity->Asset文件夹下面 2:新建一个脚本,取名为ExportPDF,此脚本用于配置pdf文档的前期工作,以及用于接收其他脚本递交过来的数据 < ...

  6. [MTK] mt6575等相关的手机开发资料(PDF文档)

    https://github.com/luckasfb/Development_Documents/tree/master/MTK-Mediatek-Alps-Documents + 号开头的为目录, ...

  7. Java使用PDFBox开发包实现对PDF文档内容编辑与保存

    pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...

  8. java中operationBox_Java使用PDFBox开发包实现对PDF文档内容编辑与保存

    pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...

  9. java pdfbox_Java使用PDFBox开发包实现对PDF文档内容编辑与保存

    pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...

最新文章

  1. 继人工智能攻陷围棋,德州扑克也沦陷了
  2. boost::fusion::any用法的测试程序
  3. centos压缩和解压缩
  4. 如何找到SAP Fiori 应用里cache-control header是从后台何处设置的
  5. STL源码剖析 算法开篇
  6. xbanner 动画特效设置android,Axure教程:如何实现爱彼迎App首页Banner的切换效果
  7. 常见地理知识总结的连接
  8. 诺基亚n9支不支持java,支持诺基亚N9 MeeGo UC浏览器正式发布
  9. latex max下面标注怎么写
  10. 一个简单的把对象序列化/反序列化为json格式的程序
  11. 计算机房电缆,机房设计常用计算公式大全
  12. Restful API详解
  13. endless walk
  14. 面向开发者的网站,真的是认真设计过的吗?
  15. int... num什么意思?
  16. laydate设置起始时间,laydate设置开始时间和结束时间
  17. ZOJ2343 Robbers(贪心)
  18. PS-白色底色改彩色
  19. 昌乐一中2021年高考成绩查询,喜 报
  20. Laravel防范xss攻击

热门文章

  1. 服装ERP系统助力企业管理精细化
  2. 五、延迟初始化和密封类(Kolin)
  3. 各厂家售后技术支持热线收集
  4. 有哪些可以投稿软件工程/系统软件/程序设计语言类外文期刊、会议?
  5. vue-element-admin局部刷新页面
  6. 第二课作业(刘萌150206318)
  7. 电影院订票选座网站系统 毕业设计毕业论文参考(3)后台管理功能
  8. archiCAD二次开发
  9. CSDN又被挂马了?
  10. CSS中的span样式对齐