展示这个Demo的原因是一哥们需要我帮他把一些PDF格式的资料转为txt,我在网上找了下在线的工具,都不好用,网上大多数的在线pdf转txt文件都需要付费,而免费的一次转换文件大小不能超过2M,比较痛苦,于是去网上搜了下Java实现Pdf转txt,刚好看见了大神写的代码(http://www.cnblogs.com/fanc/p/6197786.html),就直接拿来用了,哈哈,在此分享下!

package demo;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.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;public class PdfToTxt {public static void main(String[] args) {try {//取得F盘下的pdf的内容readPdf("F:/SJXLX/心理咨询师考试重点整理---20150429.pdf");} catch (Exception e) {e.printStackTrace();}} /*** 传入一个.pdf文件* @param file* @throws Exception*/public static void readPdf(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 DocumentPDDocument document = null;try {try {// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件URL url = new URL(pdfFile);//注意参数已不是以前版本中的URL.而是File。document = PDDocument.load(pdfFile);// 获取PDF的文件名String fileName = url.getFile();// 以原来PDF的名称来命名新产生的txt文件if (fileName.length() > 4) {File outputFile = new File(fileName.substring(0, fileName.length() - 4)+ ".txt");textFile ="F:/SJXLX/"+outputFile.getName();}} catch (MalformedURLException e) {// 如果作为URL装载得到异常则从文件系统装载//注意参数已不是以前版本中的URL.而是File。document = PDDocument.load(pdfFile);if (pdfFile.length() > 4) {textFile = pdfFile.substring(0, pdfFile.length() - 4)+ ".txt";}}// 文件输入流,写入文件倒textFileoutput = 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(textFile + " 输出成功!");} finally {if (output != null) {// 关闭输出流output.close();}if (document != null) {// 关闭PDF Documentdocument.close();}}}
}

成功转换几十个pdf文件,截图为证!

Java项目运行需要的基础包我会上传,需要下载的请自便,不谢!

纯Java实现PDF转txt文件相关推荐

  1. java pdf 转txt文件怎么打开_纯Java实现PDF转txt文件

    展示这个Demo的原因是一哥们需要我帮他把一些PDF格式的资料转为txt,我在网上找了下在线的工具,都不好用,网上大多数的在线pdf转txt文件都需要付费,而免费的一次转换文件大小不能超过2M,比较痛 ...

  2. 如何实现Word、PDF,TXT文件的全文内容检索?

    作者 | HENG 来源 | https://www.cnblogs.com/strongchenyu/p/13777596.html 简单介绍一下需求 能支持文件的上传,下载 要能根据关键字,搜索出 ...

  3. 如何实现Word、PDF、TXT文件的全文内容检索?

    简单介绍一下需求 能支持文件的上传,下载 要能根据关键字,搜索出文件,要求要能搜索到文件里的文字,文件类型要支持word,pdf,txt 文件上传,下载比较简单,要能检索到文件里的文字,并且要尽量精确 ...

  4. 面试官问:如何用Elasticsearch实现Word、PDF,TXT文件的全文内容检索?

    Elasticsearch简介 开发环境 核心问题 文件上传 关键字查询 编码 导入依赖 文件上传 文件查询 多文件测试 还存在的一些问题 简单介绍一下需求 能支持文件的上传,下载 要能根据关键字,搜 ...

  5. Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

    功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome).IE9/10.Firefox通过 分类文件及代码说明  DemoFiles 存放可测试文件 Default.aspx ...

  6. Java代码输出到txt文件(申请专利贴源码的必备利器)

    最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大.如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要.shell或者python就能解决这个问题.由于我个人对于shel ...

  7. php pdf转txt文件,PDF文件在线转换TXT

    TXT文档是一个记事本形式的文档,用来记录一些临时的事情什么的,PDF文件是办公需要用到的软件,很多人不理解两者之间的关系,这两种文件还可以转换,答案是当然可以,不仅可以转换,而且还支持在线转换,那现 ...

  8. Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...

    原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...

  9. java将异常写到text,java捕获异常信息存入txt文件示例

    捕获程序中出现的异常 可用于后期维护的必要性!做简单的测试 !package helpEntity; import java.io.BufferedReader; import java.io.Fil ...

最新文章

  1. C#从数据库导出数据[excel]
  2. 如何查看一个jar文件是用什么版本jdk编译的?
  3. ST单片机使用ST Visual Programmer软件烧录程序简易教程
  4. 阿里云的linux服务器简单部署网站80端口
  5. 数据採集器服务——Socket(今天才发现AES加解密代码跟贴的时候不一样,貌似乱码,不知什么情况)...
  6. mysql 设置大小写_mysql修改大小写参数注意事项
  7. 由于找不到npptool.dll,无法继续执行代码
  8. 我转行程序员的那一年(五)
  9. leaflet 加载百度离线瓦片
  10. 初探PLC 的ST 语言转换成C++ 的方法
  11. Excel - 图文详解Excel中相对引用和绝对引用的区别
  12. linux pgm格式图片,pgm文件扩展名,pgm文件怎么打开?
  13. 计算机毕设(附源码)JAVA-SSM基于java学科竞赛管理系统
  14. 如何接触的最新的前端动态、最前沿的前端技术
  15. 16种互联网产品盈利模式介绍
  16. 转载 测试面试问题总汇
  17. 【转载】OceanBase架构介绍
  18. 智慧公厕系统为管理方提供更丰富的管理手段
  19. 高性能迷你React框架 anu1.2.3 发布
  20. 做一个H5项目的准备工作-1

热门文章

  1. WIN10 默认管理员权限。
  2. ESP32 AT指令连接AWS亚马逊云
  3. java2d游戏引擎_2 - Java2D+3D游戏王(Yo-Gi-Oh!)开发日志_Linux编程_Linux公社-Linux系统门户网站...
  4. python怎么做软件开发有前途吗_Python程序员就业行情以及前景分析
  5. Photoshop中怎么把白色背景改为黑色背景
  6. 神经网络图用什么软件做,神经网络示意图怎么画
  7. 海岛大亨6(Tropico 6) for Mac v11 模拟经营类游戏中文版下载
  8. A9平板电脑的Cortex A9晶晨半导体的Andr​​oid 2.3双核无线​​蓝牙
  9. 计算机专业学生u盘32g够用吗,32gu盘可以存多少首歌
  10. Android Studio 导入项目运行按钮灰色的完美解决方法