`
limingcai
  • 浏览: 112344 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从PDF读写到TXT文本

    博客分类:
  • JAVA
阅读更多
package com.purang.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;  

/**
* @param args
*/

public class PdfReader {   

public void readFdf(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);   
  //注意参数已不是以前版本中的URL.而是File。   
   document = PDDocument.load(pdfFile);   
   // 获取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装载得到异常则从文件系统装载   
  //注意参数已不是以前版本中的URL.而是File。   
   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();   
  }   
}   
}   
/**  
* @param args  
*/  
public static void main(String[] args) {   
// TODO Auto-generated method stub   
PdfReader pdfReader = new PdfReader();   
try {   
  // 取得E盘下的SpringGuide.pdf的内容   
  pdfReader.readFdf("E:\\SpringGuide.pdf");   
} catch (Exception e) {   
  e.printStackTrace();   
}   
}   
//先导入PDFBox-0.7.2.jar
}
分享到:
评论

相关推荐

    W_PDF PDF读写控件

    W_PDF PDF读写控件是专门针对PDF文档处理开发的一款工具,适用于软件开发者,特别是那些使用Delphi编程语言的开发者。通过这个控件,开发者可以方便地在应用程序中实现PDF文档的创建、读取和修改功能。 PDF读写控件...

    c++文件读写.pdf

    文本文件的读写很简单:用插入器 () 向文件输出;用析取器 (>>) 从文件输入。 例如: file2 ; // 向文件写入字符串"I Love You" int I; file1 >> I; // 从文件输入一个整数值 这种方式还有一种简单的格式化能力...

    MFC txt文件读写.pdf

    MFC(txt文件读写)是Microsoft Foundation Classes(MFC)中的一种文本文件读写机制,用于在MFC应用程序中读取和写入文本文件。本文将详细介绍MFC-txt文件读写的基本概念、文件变量的定义、文件的打开方式、写入信息...

    clibpdf202r1.tar.gz_C#读写pdf文件_CLibPDF_PDF读写_pdf c++_读写pdf

    在PDF读写方面,CLibPDF库支持的基本操作可能包括: 1. **打开PDF文件**:通过指定文件路径,库可以加载PDF文档,提供一个句柄供后续操作使用。 2. **页面操作**:可以读取PDF页面的内容,包括文本、图像和图形元素...

    读写pdf文件的程序开发库

    使用这些库时,首先需要将其引入到项目中,然后通过调用库提供的API来执行读写操作。例如,使用iText创建PDF时,可以创建一个`Document`对象,然后添加`Paragraph`和`Image`等元素。 6. 源码分析: 压缩包中的...

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    一、用JAVA完成了PDF读写(IText的应用) 加密PDF文件,引用到的JAR包是 bcprov-jdk15on-147 生成PDF文件,引用到的JAR包是itext5.5.1 项目文件为PDFText.java 主要实现功能: 1、创建一个PDF文件:HelloWorld.pdf,...

    读写pdf文件的程序开发库源码

    PDF(Portable Document Format)是一种广泛使用的文件格式,用于呈现文档,包括文本格式和图像,保持原始格式和布局的不变性。在IT行业中,对PDF文件进行读取和写入的操作是常见的需求,例如生成报告、填写表单或者...

    pdf读写jar包

    这个"pdf读写jar包"可能就是指的PDFBox的特定版本,如这里的"pdfBox1.8.14"。这个版本的PDFBox包含了处理PDF文档所需的各种类和方法,可以帮助开发者实现对PDF的高级操作。 在使用PDFBox进行PDF读取时,有几个关键...

    C#读取PDF文件内容 按每页生成文本对象(只读取文字版PDF)

    首先,Spire.Pdf是一款强大的.NET PDF组件,它提供了丰富的API,使得开发者可以轻松地在C#环境中进行PDF文件的读写、编辑、转换等操作。要使用这个库,你需要先将其添加到你的项目中。这通常可以通过NuGet包管理器...

    Java文件读写.pdf

    总结来说,Java文件读写涉及到`FileInputStream`、`FileOutputStream`、`InputStreamReader`、`BufferedReader`、`FileWriter`等核心类。正确选择和组合这些类,可以高效地进行文件操作,同时要注意线程安全和性能...

    C++ 创建读写PDF

    而PDF(Portable Document Format)是一种通用的文件格式,用于无损地交换包含文本、图像和图形的文档。当需要在C++程序中创建和读取PDF文档时,开发者通常会利用特定的库来处理这些任务,以便生成具有个性化设计的...

    java读写文件的方法.pdf

    个字符到字符数组中,charread 为一次读入的字符数while ((charread = reader.read(tempchars)) != -1) { System.out.print(tempchars, 0, charread); } reader.close(); } catch (Exception e1) { e1....

    文本转pdf(源码)

    这个源码支持将多个文本文件合并到一个PDF中,这涉及到文件操作和流处理技术。在编程中,可能使用了文件指针定位到PDF末尾,然后将新的文本内容写入,以实现追加功能。 4. **拖放操作**: 拖放功能是现代应用中的...

    c#读写PDF文档。

    在C#中,读写PDF文档是一项常见的任务,特别是在开发应用程序时需要生成报告或文档时。这个场景下,我们可以利用第三方库来实现这一功能。在提供的描述中提到了需要引用一个DLL,这通常指的是第三方库的动态链接库...

    读写PDF文件小DEMO

    除了基本的读写功能,iText还支持更高级的操作,如修改现有PDF文档的文本、添加图像、创建表格、创建PDF表单以及设置安全性和权限。例如,如果你想要在已有PDF文件的特定位置插入文本,你可以使用PdfStamper类: ``...

    利用第三方开源框架iText写的一个DEMO,能够实现对PDF文件文本信息的读写。

    本文将详细介绍如何使用iText这个强大的工具来实现对PDF文件文本信息的读写操作。首先,我们需要了解iText的基本概念和功能。iText提供了一系列API,可以用来创建PDF文档、填充已有的PDF表单、添加文本、图像、链接...

    c++读写文本文件及ini文件例子整理.pdf

    c++读写文本文件及ini文件例子整理.pdf

    安卓Excelwordppt文档读写相关-Android平台下将Html文本转换为PDF格式并输出.rar

    9. **权限管理**:由于涉及到文件读写,记得在AndroidManifest.xml中添加相应的权限声明,例如`<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />`。 10. **错误处理与调试**:由于...

Global site tag (gtag.js) - Google Analytics