`
noknower
  • 浏览: 120086 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用PDFBox处理PDF文档

    博客分类:
  • JAVA
阅读更多
最常见的一种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();

		   }

		}


}

分享到:
评论
1 楼 InnocentBoy 2009-07-31  
怎么这么多一样的文章!

相关推荐

    【Java】基于Pdfbox解析PDF文档中指定位置的文字和图片

    我们可以使用PDFBox开发可以创建,转换和操作PDF文档的Java程序。PDFBox的主要功能: Extract Text – 使用PDFBox,您可以从PDF文件中提取Unicode文本。 Split & Merge – 使用PDFBox,您可以将单个PDF文件分成多个...

    java使用pdfbox打印PDF

    在Java开发中,有时我们需要处理PDF文档,例如打印PDF文件。在这种情况下,原生的Java API可能不提供全面的支持,特别是在兼容各种打印机方面。为了解决这个问题,我们可以借助开源库如PDFBox。在这个场景中,我们...

    .Net c#使用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文件中的图片

    PDFBox是一个开源的可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。 它具有以下特性: 1.将一个PDF文档转换输出为一个文本文件。 2.可以从文本文件创建一个PDF文档。 ...

    C#使用PDFBox读取PDF

    PDFBox是一个开源的Java库,主要用于处理PDF文档,但也可以通过.NET平台的Java interop技术在C#中使用。本篇文章将详细介绍如何在C#环境中利用PDFBox库来读取PDF文件的内容,并将其转换为TXT格式进行保存。 首先,...

    Java 解析 PDF, pdfbox读取PDF内容

    Java作为一款跨平台的编程语言,提供了多种库来处理PDF文档,其中之一就是PDFBox。本文将深入探讨如何使用PDFBox库在Java中解析PDF并读取其内容。 PDFBox是Apache软件基金会的一个开源项目,它为Java开发者提供了一...

    PDFBox pdf 转换为word文档

    1. **初始化PDFBox**: 加载PDF文档,这可以通过`PDDocument.load()`方法实现,传入PDF文件的路径。 2. **提取文本**: 使用`PDFTextStripper`类,调用`processDocument()`方法来提取PDF中的所有文本。 3. **保存文本*...

    轻松使用apache pdfbox将pdf文件生成图片.pdf

    Apache PDFBox是一个强大的Java库,专门用于处理PDF文档。它提供了丰富的API,允许开发者读取、创建、修改和渲染PDF文档。在这个特定的场景中,PDFBox被用来将PDF文件转换为图片,这对于报表开发或者需要将PDF内容...

    pdfbox和pdfrenderer所需包

    **PDFBox** 是Apache软件基金会的一个开源项目,它提供了对PDF文件的强大支持,包括读取、创建、编辑和转换PDF文档。PDFBox-2.0.11.jar是这个库的二进制版本,包含了处理PDF所需的所有类和方法。使用PDFBox,你可以...

    PDFBox PDF处理类库 v3.0.0 alpha2.zip

    总的来说,PDFBox是Java开发人员处理PDF文档的强大工具,其v3.0.0 alpha2版本为开发者提供了更多探索和测试的新特性。无论你是要进行简单的PDF读取还是复杂的PDF编辑,PDFBox都能满足你的需求,同时源码的开放性也...

    pdfbox 解析pdf里的图片和文字

    PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF文档的Java库。它提供了一系列强大的API,使得开发者能够轻松地读取、创建、修改和显示PDF文档中的内容。在这个场景中,我们将关注如何使用PDFBox解析PDF...

    使用pdfbox将pdf转图片 jar包

    PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF文档。这个工具库提供了一系列API,使得开发者能够方便地读取、创建、修改PDF文件。在本案例中,我们关注的是如何利用PDFBox将PDF文档转换为图片。这个过程...

    pdfbox读取pdf文档转为高清图片的例子

    PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF文档。这个库提供了丰富的API,可以用来读取、创建、编辑PDF文档。在本例中,我们将关注如何使用PDFBox将PDF文档的内容转换为高清图片。 首先,我们需要...

    C# 使用PdfBox进行合并pdf

    `C#`是一种广泛使用的编程语言,而`PdfBox`则是一个强大的Java库,用于处理PDF文档。尽管`PdfBox`是用Java编写的,但通过使用Java的.NET版本(如 IKVM 或 Jni4Net),可以在C#项目中调用它的功能。本篇将详细介绍...

    pdfbox java解析pdf文档jar包+源代码+帮助文档+example

    6. **PDF元数据处理**:你可以使用PDFBox读取或修改PDF文档的元数据,如Title、Author、Subject等,这有助于管理和组织PDF文档。 7. **安全与权限管理**:PDFBox允许设置用户访问权限,例如禁止复制、打印或编辑...

    pdfbox,生成pdf文件的缩略图

    PDFBox是Apache软件基金会开发的一个开源Java库,主要用于处理PDF文档。这个库提供了广泛的API,可以用来创建、编辑和读取PDF文档。在本场景中,我们关注的是PDFBox的一个特定功能:生成PDF文件的缩略图。这有助于在...

    java用poi转ppt为图片和用pdfbox转pdf为图片的demo

    另一方面,Apache PDFBox是另一个强大的Java库,专用于处理PDF文档。"java用pdfbox转pdf为图片"的过程与POI类似,但涉及到的是PDF文档。PDFBox提供了丰富的API来读取和操作PDF文件。 1. 引入PDFBox库:在项目中引入...

    基于pdfbox操作pdf文件的测试

    在“基于pdfbox操作pdf文件的测试”项目中,我们将深入探讨如何使用PDFBox进行PDF文件的操作。 首先,要使用PDFBox,你需要在你的项目中引入Apache PDFBox的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

    pdfbox 提取 pdf 中 文字和图片 并 可转 html

    pdfbox 提取 pdf 中 文字和图片 并 可转 html 分2个文件,一个专门提取文本,内容可转为html,另一个文件专门用来提取图片,大家可自行整合为一个文件。使用pdfbox最新提取图片的方法。

    使用PDFBox提取PDF中文本信息

    PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF文档,包括读取、写入、编辑以及提取PDF中的信息。在C#环境下,虽然PDFBox原生是Java库,但通过 IKVM.NET 这样的工具可以将Java库转换为.NET Framework兼容...

Global site tag (gtag.js) - Google Analytics