今天晚上写了一下PDFBox,但存在一些问题比如,有的PDF文档解析的很好,但解析有些文档则报错.这个问题还没有解决.头痛ING

package jim.myPdfBox;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.net.MalformedURLException;

import java.net.URL;

import org.pdfbox.pdmodel.PDDocument;

import org.pdfbox.util.PDFTextStripper;

public class myPdfBox {

/**

* @param args

*/

public void geText(String file) throws Exception {

// 是否排序

boolean sort = false;

// pdf文件名

String pdfFile = file;

// 输入文本文件名称

String textFile = null;

// 编码方式

String encoding = "UTF-8";

// 开始提取页数

int startPage = 1;

// 结束提取页数

int endPage = Integer.MAX_VALUE;

// 文件输入流,生成文本文件

Writer output = null;

// 内存中存储的PDF Document

PDDocument document = null;

try {

try {

// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件

URL url = new URL(pdfFile);

document = PDDocument.load(url);

// 获取PDF的文件名

String fileName = url.getFile();

// 以原来PDF的名称来命名新产生的txt文件

if (fileName.length() > 4) {

File outputFile = new File(fileName.substring(0, fileName.length()

- 4) + ".txt");

textFile = outputFile.getName();

}

} catch (MalformedURLException e) {

// 如果作为URL装载得到异常则从文件系统装载

document = PDDocument.load(pdfFile);

if (pdfFile.length() > 4) {

textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";

}

}

// 文件输入流,写入文件倒textFile

output = new OutputStreamWriter(new FileOutputStream(textFile),

encoding);

// PDFTextStripper来提取文本

PDFTextStripper stripper = null;

stripper = new PDFTextStripper();

// 设置是否排序

stripper.setSortByPosition(sort);

// 设置起始页

stripper.setStartPage(startPage);

// 设置结束页

stripper.setEndPage(endPage);

// 调用PDFTextStripper的writeText提取并输出文本

stripper.writeText(document, output);

System.out.println("文件创建成功");

} finally {

if (output != null) {

// 关闭输出流

output.close();

}

if (document != null) {

// 关闭PDF Document

document.close();

}

}

}

public static void main(String[] args) {

myPdfBox test = new myPdfBox();

try {

// 取得C盘下的index.pdf的内容

test.geText("IK.pdf");

} catch (Exception e) {

e.printStackTrace();

}

}

}

java pdfbox 解析报错_关于 PDFBox 解析器相关推荐

  1. java启动监听器报错_初识 Java-监听器

    使用Listener类 当java  web应用程序在web容器中运行时,在java web应用程序内部会不断发生各种事件,例如web应用的启动,暂停,销毁等.以及web应用中session开始和结束 ...

  2. AndroidStudio_安卓原生开发_Json解析报错_要注意这点---Android原生开发工作笔记141

    人脸识别的一个pad程序,平时运行没发现问题,但是后来报错了...不知道怎么回事,但是 找到了错误出现的地方: 是因为json字符串解析的时候,报错的: try {jsonObj=new JSONOb ...

  3. java总是标点符号报错_[javamail]AUTH LOGIN failed;Invalid username or password报错

    项目中需要用到javamailAPI,邮箱服务器用的sohu闪电邮,SMTP协议用来发送,赋值代码: Properties props = new Properties(); props.setPro ...

  4. easy excel date 类型解析报错_实例1:用Python自动批量生成Excel档物料标签

    作为一个生产型企业,其产品种类繁多.按照客户要求,每种产品在出货时都需要在包装上贴上如下信息标签,以便识别. 标签上需要包含6种信息,原始资料内容如下: 我们注意到原始信息中的品牌,有些是大写,有些是 ...

  5. easy excel date 类型解析报错_【今日真题】鼓楼小学教师招聘2017年考试真题及答案解析(上)...

    点击上方关注我们! 1:教学内容的安排既要有系统性和连贯性,同时又要保持一定的难度和速度,并注意新旧知识的联系,这主要体现( )的要求.单项选择题A.循序渐进和促进发展相结合B.集体教学和因材施教相结 ...

  6. 我的java安装老是报错_我的世界总是崩溃怎么办

    我的世界总是崩溃怎么办?我的世界作为许多玩家都十分喜爱的模拟经营沙盘类游戏,经常有玩家反映在玩我的世界的时候,游戏总是会出现崩溃或者无法启动的情况,那么如何解决呢? Minecraft 无法正常启动. ...

  7. java.io.file 报错_关于java.io.FileNotFoundException异常问题?

    本帖最后由 郝强勇 于 2013-3-14 16:18 编辑 下面的代码是客户端在访问servlet时,在servlet中调用数据库操作层UserDao对象中的update方法,haha.proper ...

  8. java jacoco覆盖率报错_接口测试代码覆盖率(jacoco)方案分享

    在做接口测试过程中,为了达到量化接口测试用例效果的目的,引入了代码覆盖率作为重要指标,在查阅相关文档和资料通过实践之后,大概得到了一个方案.如图: 备注:该方案略微复杂了一些,原因在于服务JVM所在的 ...

  9. easy excel date 类型解析报错_两个日期相差多少天,你还在一天天的数吗?用Excel轻松完成计算...

    在我们的日常工作中,经常要计算两个日期之间相差多少天,两个时间之间相差多少小时等等,诸如此类的日期.时间之差怎么计算呢?今天小编就和大家分享如何利用Excel函数来完成计算. 一.计算年数.月数.天数 ...

最新文章

  1. OpenCv中实现了三种立体匹配算法:
  2. 7、Node.js EventEmitter
  3. 数据挖掘学习笔记之人工神经网络(二)
  4. css高级教程第一章笔记
  5. 使用PyTorch训练图像分类器
  6. 密码篇——对称加密—3DES
  7. 中国稀土永磁材料市场发展态势及产销需求规模预测报告2021版
  8. Polycarp Training
  9. 怎么拆计算机主机,技术编辑教您电脑机箱怎么拆
  10. Spark SQL(二)之DataSet操作
  11. 学习Lucene.Net 2.1常用的一些网址
  12. hadoop 依赖式job_Java项目中使用XXL-JOB调度框架
  13. MES系统源码 MES系统功能介绍
  14. grads 相关系数_气象绘图软件GrADS高级使用技巧
  15. [区块链]对话区块链人工智能顶级实力公司ObEN
  16. 侧馈矩形微带天线设计报告
  17. 微擎修改服务器域名,微擎服务器ip地址修改
  18. 实体企业践行远程办公,云ERP是您变革利器
  19. python裁剪图片边缘模糊_用cv2模糊部分图像后的锐利边缘
  20. 数据结构之简单迷宫求解

热门文章

  1. 2023年10大高薪岗位大揭秘
  2. linux系统下,11款常见远程桌面控制软件(转载)
  3. Win7中安装不了Arduino驱动怎么办
  4. AssertValid函数
  5. form action中传递参数的问题
  6. 用华为手机要学会4个高级功能,你若不会使用不如去买个小灵通
  7. PO、VO...各对象的区别
  8. YBTOJ 数独游戏
  9. StretchDIBits速度测试(HALFTONE)
  10. 2023年全球及中国盐酸环丙沙星行业头部企业市场占有率及排名调研报告