1、用到的jar有:pdfbox-1.8.4.jar ,fontbox-1.8.4.jar ,pdfbox-app-1.8.4.jar , preflight-1.8.4.jar,preflight-app-1.8.4.jar,jempbox-1.8.4.jar,xmpbox-1.8.4

第一次写Java,不知道哪些jar是要用的,全部都添加进去了。下载地址:http://pdfbox.apache.org/downloads.html

2、将jar放在工程目录下,右键工程→Build Path→Configure Build Path→lib→Add JARs/Add External JARs

3、代码

参考:http://blog.csdn.net/meifage/article/details/6963985

参考:http://daning.iteye.com/blog/165284

参考:http://blog.csdn.net/weijie_search/article/details/2662189

package pdfReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.UnsupportedEncodingException;

import java.io.Writer;

import org.apache.pdfbox.pdfparser.PDFParser;

import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.util.PDFTextStripper;

public class pdfReaderClass {

public static void main(String[] args)

{

System.out.println("Start...");

//System.out.println("Input the pdf document path:");

//String pdfFilePath = System.in.toString();

String pdfFilePath = "F:\\Eclipseworkspace\\read2.pdf";//为pdf路径赋默认值

System.out.println("The pdf file path is: " + pdfFilePath);

//将结果路径设置为原pdf文件路径

String txtFilePath = null;

if (pdfFilePath.length() > 4)

{

txtFilePath = pdfFilePath.substring(0, pdfFilePath.length() - 4) + ".txt";

}

else System.out.println("The pdf file path is invalid!");

String str=pdfReaderClass.getTextFromPDF(pdfFilePath); //获取pdf文件

File outputTxt = new File(txtFilePath);

// FileOutputStream fos = null;

//try {

//fos = new FileOutputStream(outputTxt);

//} catch (FileNotFoundException e) {

TODO Auto-generated catch block

//e.printStackTrace();

//}

// DataOutputStream out = new DataOutputStream(fos);

// try {

//out.writeUTF(str);

//} catch (IOException e) {

TODO Auto-generated catch block

//e.printStackTrace();

//}

Writer txtWriter = null;

try {

txtWriter = new OutputStreamWriter(new FileOutputStream(outputTxt), "UTF-8");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

txtWriter.write(str);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if (txtWriter != null) {

// 关闭输出流

try {

txtWriter.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// System.out.println(str);

System.out.println("The output file path is: " + txtFilePath);

System.out.println("Over!");

}

/**

* @param pdfFilePath file path

* @return all text in the pdf file

**/

public static String getTextFromPDF(String pdfFilePath) {

String result = null;

FileInputStream is = null;

PDDocument document = null;

try {

is = new FileInputStream(pdfFilePath);

PDFParser parser = new PDFParser(is);

parser.parse();

document = parser.getPDDocument();

PDFTextStripper stripper = new PDFTextStripper();

result = stripper.getText(document);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if (is != null) {

try {

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

System.out.println("The FileInputStream is null!");

e.printStackTrace();

}

}

if (document != null) {

try {

document.close();

} catch (IOException e) {

// TODO Auto-generated catch block

System.out.println("Fail to get the pdf document!");

e.printStackTrace();

}

}

}

return result;

}

}

遇到的问题:http://blog.csdn.net/lin9118/article/details/9309445

java txt 写入pdf_java学习笔记 读取pdf文件并写成txt文件输出相关推荐

  1. java将office文档,word,ppt,pdf文档转换成swf文件在线预览

    java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...

  2. r导入txt乱码_R学习笔记系列—R语言从文本和Excel文件中读取数据-excel打开是乱码...

    1.4.1 从文本文件中导入数据 可以使用 read.table() 函数从带分隔符的文本文件中导入数.调用格式为: 这个函数看上去很复杂,但其实很多参数在使用时不用明确指出来,使用默认值可以满足绝大 ...

  3. python从sqlserver提取数据_通过Python读取sqlserver数据写成json文件的总结

    最近在做将sqlserver的数据迁移到redshift上面,然后再做的过程当中出现了很多问题.(通过sqlserver 读取数据,然后写成json文件然后长传到S3上面,然后通过S3copy的形式将 ...

  4. java反射 pdf_java反射学习笔记整理.pdf

    java反射学习笔记整理.pdf 还剩 15页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: Java 反射笔记 ...

  5. JAVA基础与高级学习笔记

    JAVA基础与高级学习笔记 /记录java基础与高级,除了较简单的内容,没有必要记录的没有记录外,其余的都记录了/ java初学者看这一篇就够了,全文 6万+ 字. JAVA基础 java会出现内存溢 ...

  6. OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作

    OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...

  7. Java并发编程艺术学习笔记(五)

    Java并发编程艺术学习笔记(五) Java并发容器和框架 Java为开发者也提供了许多开发容器和框架,可以从每节的原理分析来学习其中精妙的并发程序. 一.ConcurrentHashMap的实现原理 ...

  8. 零基础学习Java开发,这些学习笔记送给你

    因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...

  9. Java 8 函数式编程学习笔记

    Java 8 函数式编程学习笔记 @(JAVASE)[java8, 函数式编程, lambda] Java 8 函数式编程学习笔记 参考内容 Java 8中重要的函数接口 扩展函数接口 常用的流操作 ...

最新文章

  1. Activity的launchMode和任务栈小结
  2. 不四:产品工程师的修炼之路
  3. CodeForces - 1418G Three Occurrences(线段树-标记永久化)
  4. CF961G Partitions
  5. 捷克 签证_一位捷克开发人员构建了可在您的浏览器中直接运行的语音合成器
  6. javaweb引用serverlet库
  7. 魔百盒哪款型号配置高_松下负离子吹风机怎么样哪款好?推荐型号?2020年9月松下负离子电吹风选购攻略...
  8. MFC中树形控件的应用——电话簿
  9. 【MySQL】MySQL自带的数据库
  10. 95-136-040-源码-Operator-Operator简介
  11. mysql 主从 启动顺序_MySQL生产环境下的主从复制启动项
  12. BZOJ——1626: [Usaco2007 Dec]Building Roads 修建道路
  13. HibernateTemplate.save()与HibernateTemplate.update() 无法写入数据库的问题
  14. Java——可能的文本题
  15. 油猴脚本插件 千图网无水印原图素材
  16. WEB3.0全球高峰论坛暨2022中民协分布式存储专委会新春团拜会即将隆重启幕
  17. 大篆汉字对照表_甲骨文汉字对照表大全_甲骨文数字象形字对照图
  18. r语言中v1=c(v1i),1 R语言介绍 | R语言教程
  19. 【计算机组织与体系结构】实验三:流水线处理器
  20. 【费马引理+快速幂】快速幂求逆元

热门文章

  1. 前后端整合---js对象方法---异步组件
  2. 快速删除node_modules文件夹!!!
  3. 骁龙710、675、660、636之间性能差距有多大?
  4. 现外供电电压都达240V,音响系统要不要加稳压器?
  5. 狗是不是最和其它动物合得来的一种动物?
  6. 毕业三年,攒了多少钱?
  7. 电子科技大学要多少分才能录取?
  8. 苹果XR信号差,可否要求苹果公司召回?
  9. go详解strings包
  10. python入门——P45魔法方法:属性访问