java使用pdfbox操作pdf文件示例

 更新时间:2014年03月13日 16:45:59   作者:  
有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来,下面是使用示例

还有一个用于创建PDF文件的项目----iText。

PDFBox下面有两个子项目:FontBox是一个处理PDF字体的java类库;JempBox是一个处理XMP元数据的java类库。

一个简单示例:

要引入pdfbox-app-1.6.0.jar这个包。

复制代码 代码如下:

package pdf;

import java.io.File;
import java.net.MalformedURLException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;

public class StripPDFContent {

    public static String getText(File file)throws Exception{
        boolean sort=false;
        int startPage=1;
        int endPage=10;
        PDDocument document=null;
        try{
            try{
                document=PDDocument.load(file);
            }catch(MalformedURLException e){

            }
            PDFTextStripper stripper=new PDFTextStripper();
            stripper.setSortByPosition(sort);
            stripper.setStartPage(startPage);
            stripper.setEndPage(endPage);
            return stripper.getText(document);
        }catch(Exception e){
            e.printStackTrace();
            return "";
        }finally{
            if(document!=null){
                document.close();
            }
        }
    }

    public static void main(String[] args){
        File file=new File("/home/orisun/123.pdf");
        try{
            String cont=getText(file);
            System.out.println(cont);
        }catch(Exception e){
            System.out.println("Strip failed.");
            e.printStackTrace();
        }
    }
}

相关文章

  • springboot使用AOP+反射实现Excel数据的读取

    springboot使用AOP+反射实现Excel数据的读取

    本文主要介绍了springboot使用AOP+反射实现Excel数据的读取,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • MyBatis中的SQL映射文件配置结果映射的操作指南

    MyBatis中的SQL映射文件配置结果映射的操作指南

    MyBatis 是一款优秀的 ORM 框架,它提供了多种配置方式来定义 SQL 语句以及结果映射规则,本文将介绍 MyBatis 中的 SQL 映射文件如何配置结果映射,包括常规类型、集合类型等多种情况,需要的朋友可以参考下
    2023-07-07
  • java中的三种取整函数总结

    java中的三种取整函数总结

    下面小编就为大家带来一篇java中的三种取整函数总结。希望对大家有所帮助。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2016-11-11
  • 使用mybatis-plus报错Invalid bound statement (not found)错误

    使用mybatis-plus报错Invalid bound statement (not found)错误

    这篇文章主要介绍了使用mybatis-plus报错Invalid bound statement (not found)错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java三种移位运算符原理解析

    Java三种移位运算符原理解析

    这篇文章主要介绍了Java三种移位运算符原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java多态中的向上转型与向下转型浅析

    Java多态中的向上转型与向下转型浅析

    多态是指不同类的对象在调用同一个方法是所呈现出的多种不同行为,下面这篇文章主要给大家介绍了关于Java多态中向上转型与向下转型的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • java实现学生管理系统(面向对象)

    java实现学生管理系统(面向对象)

    这篇文章主要为大家详细介绍了java实现学生管理系统(面向对象),文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Java如何根据不同系统动态获取换行符和盘分割符

    Java如何根据不同系统动态获取换行符和盘分割符

    这篇文章主要介绍了Java如何根据不同系统动态获取换行符和盘分割符,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringCloud 客户端Ribbon负载均衡的实现方法

    SpringCloud 客户端Ribbon负载均衡的实现方法

    Ribbon 是 Netflix 提供的一个基于 Http 和 TCP 的客户端负载均衡工具,且已集成在 Eureka 依赖中,这篇文章主要介绍了SpringCloud 客户端Ribbon负载均衡的实现方法,需要的朋友可以参考下
    2022-06-06
  • 使用SpringBoot发送邮件的方法详解

    使用SpringBoot发送邮件的方法详解

    这篇文章主要介绍了使用SpringBoot发送邮件的方法详解,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-05-05

最新评论