最常见的一种PDF文本抽取工具就是PDFBox了,访问网址http://sourceforge.net/projects/pdfbox/
使用PDFBox解析PDF内容
package com.ibm.pdf;
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文档 英文
* @author Administrator
*
*/
public class PdfBoxTest {
public void getText(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);
} finally {
if (output != null) {
// 关闭输出流
output.close();
}
if (document != null) {
// 关闭PDF Document
document.close();
}
}
}
public static void main(String[] args) {
PdfBoxTest test = new PdfBoxTest();
try {
// 取得C盘下的index.pdf的内容
test.getText("C:\\linuxprog.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
在Java开发中,有时我们需要处理PDF文档,例如打印PDF文件。在这种情况下,原生的Java API可能不提供全面的支持,特别是在兼容各种打印机方面。为了解决这个问题,我们可以借助开源库如PDFBox。在这个场景中,我们...
我们可以使用PDFBox开发可以创建,转换和操作PDF文档的Java程序。PDFBox的主要功能: Extract Text – 使用PDFBox,您可以从PDF文件中提取Unicode文本。 Split & Merge – 使用PDFBox,您可以将单个PDF文件分成多个...
在.Net中使用PDFBox需要引用: 1.PDFBox-0.7.3.dlll (8 MB) 2.IKVM.GNU.Classpath (7 MB) 3.IKVM.Runtime.dll (360 kB) 4.FontBox-0.1.0-dev.dll 使用方法: private static string parseUsingPDFBox(string ...
PDFBox是一个开源的可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。 它具有以下特性: 1.将一个PDF文档转换输出为一个文本文件。 2.可以从文本文件创建一个PDF文档。 ...
PDFBox是一个开源的Java库,主要用于处理PDF文档,但也可以通过.NET平台的Java interop技术在C#中使用。本篇文章将详细介绍如何在C#环境中利用PDFBox库来读取PDF文件的内容,并将其转换为TXT格式进行保存。 首先,...
Java作为一款跨平台的编程语言,提供了多种库来处理PDF文档,其中之一就是PDFBox。本文将深入探讨如何使用PDFBox库在Java中解析PDF并读取其内容。 PDFBox是Apache软件基金会的一个开源项目,它为Java开发者提供了一...
1. **初始化PDFBox**: 加载PDF文档,这可以通过`PDDocument.load()`方法实现,传入PDF文件的路径。 2. **提取文本**: 使用`PDFTextStripper`类,调用`processDocument()`方法来提取PDF中的所有文本。 3. **保存文本*...
Apache PDFBox是一个强大的Java库,专门用于处理PDF文档。它提供了丰富的API,允许开发者读取、创建、修改和渲染PDF文档。在这个特定的场景中,PDFBox被用来将PDF文件转换为图片,这对于报表开发或者需要将PDF内容...
总的来说,PDFBox是Java开发人员处理PDF文档的强大工具,其v3.0.0 alpha2版本为开发者提供了更多探索和测试的新特性。无论你是要进行简单的PDF读取还是复杂的PDF编辑,PDFBox都能满足你的需求,同时源码的开放性也...
PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF文档的Java库。它提供了一系列强大的API,使得开发者能够轻松地读取、创建、修改和显示PDF文档中的内容。在这个场景中,我们将关注如何使用PDFBox解析PDF...
**PDFBox** 是Apache软件基金会的一个开源项目,它提供了对PDF文件的强大支持,包括读取、创建、编辑和转换PDF文档。PDFBox-2.0.11.jar是这个库的二进制版本,包含了处理PDF所需的所有类和方法。使用PDFBox,你可以...
PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF文档。这个工具库提供了一系列API,使得开发者能够方便地读取、创建、修改PDF文件。在本案例中,我们关注的是如何利用PDFBox将PDF文档转换为图片。这个过程...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF文档。这个库提供了丰富的API,可以用来读取、创建、编辑PDF文档。在本例中,我们将关注如何使用PDFBox将PDF文档的内容转换为高清图片。 首先,我们需要...
`C#`是一种广泛使用的编程语言,而`PdfBox`则是一个强大的Java库,用于处理PDF文档。尽管`PdfBox`是用Java编写的,但通过使用Java的.NET版本(如 IKVM 或 Jni4Net),可以在C#项目中调用它的功能。本篇将详细介绍...
6. **PDF元数据处理**:你可以使用PDFBox读取或修改PDF文档的元数据,如Title、Author、Subject等,这有助于管理和组织PDF文档。 7. **安全与权限管理**:PDFBox允许设置用户访问权限,例如禁止复制、打印或编辑...
PDFBox是Apache软件基金会开发的一个开源Java库,主要用于处理PDF文档。这个库提供了广泛的API,可以用来创建、编辑和读取PDF文档。在本场景中,我们关注的是PDFBox的一个特定功能:生成PDF文件的缩略图。这有助于在...
在“基于pdfbox操作pdf文件的测试”项目中,我们将深入探讨如何使用PDFBox进行PDF文件的操作。 首先,要使用PDFBox,你需要在你的项目中引入Apache PDFBox的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...
另一方面,Apache PDFBox是另一个强大的Java库,专用于处理PDF文档。"java用pdfbox转pdf为图片"的过程与POI类似,但涉及到的是PDF文档。PDFBox提供了丰富的API来读取和操作PDF文件。 1. 引入PDFBox库:在项目中引入...
pdfbox 提取 pdf 中 文字和图片 并 可转 html 分2个文件,一个专门提取文本,内容可转为html,另一个文件专门用来提取图片,大家可自行整合为一个文件。使用pdfbox最新提取图片的方法。
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF文档,包括读取、写入、编辑以及提取PDF中的信息。在C#环境下,虽然PDFBox原生是Java库,但通过 IKVM.NET 这样的工具可以将Java库转换为.NET Framework兼容...