首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

PDFBox下载及将pdf提取变换为txt文档

2012-07-23 
PDFBox下载及将pdf提取转换为txt文档下载网址:http://sourceforge.net/projects/pdfbox/最新版本为0.7.3从

PDFBox下载及将pdf提取转换为txt文档

下载网址:
http://sourceforge.net/projects/pdfbox/

最新版本为0.7.3
从解压包中的external目录复制以下jar包:
bcmail-jdk*.jar
bcprov-jdk*.jar
checkstyle-all-*.jar
FontBox-*.jar
lucene-core-*.jar
再从lib中复制PDFBox-*.jar 到项目lib中.

以下是一个例子:

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;/** * 将pdf提取转换为txt文档 *  * @author 部分代码来自网络。 *  */public class PdfboxTest {public static final String DEFAULT_ENCODING = "UTF-8";// "ISO-8859-1";// "ISO-8859-6";// "US-ASCII";// "UTF-8";// "UTF-16";// "UTF-16BE";// "UTF-16LE";public void geText(String file) throws Exception {// 是否排序boolean sort = false;// pdf文件名String pdfFile = file;// 输入文本文件名称String textFile = null;// 编码方式String encoding = "GB2312";// 开始提取页数int startPage = 1;// 结束提取页数int endPage = Integer.MAX_VALUE;// 文件输入流,生成文本文件Writer output = null;// 内存中存储的PDF DocumentPDDocument 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";}}// 文件输入流,写入文件倒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);} finally {if (output != null) {// 关闭输出流output.close();}if (document != null) {// 关闭PDF Documentdocument.close();}}}public static void main(String[] args) {PdfboxTest test = new PdfboxTest();try {test.geText("D:/abc.pdf"); // 转换为D:/abc.txt} catch (Exception e) {e.printStackTrace();}}}

?二。更多学习内容:

http://apps.hi.baidu.com/share/detail/20890060

热点排行