java txt 写入pdf_java学习笔记 读取pdf文件并写成txt文件输出
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文件输出相关推荐
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...
- r导入txt乱码_R学习笔记系列—R语言从文本和Excel文件中读取数据-excel打开是乱码...
1.4.1 从文本文件中导入数据 可以使用 read.table() 函数从带分隔符的文本文件中导入数.调用格式为: 这个函数看上去很复杂,但其实很多参数在使用时不用明确指出来,使用默认值可以满足绝大 ...
- python从sqlserver提取数据_通过Python读取sqlserver数据写成json文件的总结
最近在做将sqlserver的数据迁移到redshift上面,然后再做的过程当中出现了很多问题.(通过sqlserver 读取数据,然后写成json文件然后长传到S3上面,然后通过S3copy的形式将 ...
- java反射 pdf_java反射学习笔记整理.pdf
java反射学习笔记整理.pdf 还剩 15页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: Java 反射笔记 ...
- JAVA基础与高级学习笔记
JAVA基础与高级学习笔记 /记录java基础与高级,除了较简单的内容,没有必要记录的没有记录外,其余的都记录了/ java初学者看这一篇就够了,全文 6万+ 字. JAVA基础 java会出现内存溢 ...
- OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作
OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...
- Java并发编程艺术学习笔记(五)
Java并发编程艺术学习笔记(五) Java并发容器和框架 Java为开发者也提供了许多开发容器和框架,可以从每节的原理分析来学习其中精妙的并发程序. 一.ConcurrentHashMap的实现原理 ...
- 零基础学习Java开发,这些学习笔记送给你
因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...
- Java 8 函数式编程学习笔记
Java 8 函数式编程学习笔记 @(JAVASE)[java8, 函数式编程, lambda] Java 8 函数式编程学习笔记 参考内容 Java 8中重要的函数接口 扩展函数接口 常用的流操作 ...
最新文章
- Activity的launchMode和任务栈小结
- 不四:产品工程师的修炼之路
- CodeForces - 1418G Three Occurrences(线段树-标记永久化)
- CF961G Partitions
- 捷克 签证_一位捷克开发人员构建了可在您的浏览器中直接运行的语音合成器
- javaweb引用serverlet库
- 魔百盒哪款型号配置高_松下负离子吹风机怎么样哪款好?推荐型号?2020年9月松下负离子电吹风选购攻略...
- MFC中树形控件的应用——电话簿
- 【MySQL】MySQL自带的数据库
- 95-136-040-源码-Operator-Operator简介
- mysql 主从 启动顺序_MySQL生产环境下的主从复制启动项
- BZOJ——1626: [Usaco2007 Dec]Building Roads 修建道路
- HibernateTemplate.save()与HibernateTemplate.update() 无法写入数据库的问题
- Java——可能的文本题
- 油猴脚本插件 千图网无水印原图素材
- WEB3.0全球高峰论坛暨2022中民协分布式存储专委会新春团拜会即将隆重启幕
- 大篆汉字对照表_甲骨文汉字对照表大全_甲骨文数字象形字对照图
- r语言中v1=c(v1i),1 R语言介绍 | R语言教程
- 【计算机组织与体系结构】实验三:流水线处理器
- 【费马引理+快速幂】快速幂求逆元