Java 读取PDF中的文本和图片的方法

 更新时间:2019年07月18日 11:55:57   作者:E-iceblue  
本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法。分别调用方法extractText()和extractImages()来读取,需要的朋友可以参考下

本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法。分别调用方法extractText()和extractImages()来读取。

使用工具:Free Spire.PDF for Java(免费版)

Jar文件获取导入:

方法1:通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序。导入后如下图:

方法2: 可通过maven仓库安装导入。

Java代码示例

import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class ExtractText {
  public static void main(String[]args) throws Exception {
    //加载测试文档
    PdfDocument pdf = new PdfDocument("sample.pdf");
    //实例化StringBuilder类
    StringBuilder sb = new StringBuilder();
    //定义一个int型变量
    int index = 0;
    //遍历PDF文档中每页
    PdfPageBase page;
    for (int i= 0; i<pdf.getPages().getCount();i++) {
      page = pdf.getPages().get(i);
      //调用extractText()方法提取文本
      sb.append(page.extractText(true));
      FileWriter writer;
      try {
        //将StringBuilder对象中的文本写入到txt
        writer = new FileWriter("ExtractText.txt");
        writer.write(sb.toString());
        writer.flush();
      } catch (IOException e) {
        e.printStackTrace();
      }
      //调用extractImages方法获取图片
      for (BufferedImage image : page.extractImages()) {
          //指定输出图片名,指定图片格式
          File output = new File(String.format("Image_%d.png", index++));
          ImageIO.write(image, "PNG", output);
      }
    }
    pdf.close();
  }
}

文本和图片读取效果:

总结

以上所述是小编给大家介绍的Java 读取PDF中的文本和图片的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • java中字符串如何计算字节长度

    java中字符串如何计算字节长度

    这篇文章主要介绍了java中字符串如何计算字节长度,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Mybatis入门教程(四)之mybatis动态sql

    Mybatis入门教程(四)之mybatis动态sql

    这篇文章主要介绍了Mybatis入门教程(四)之mybatis动态sql的相关资料,涉及到动态sql及动态sql的作用知识,本文介绍的非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Java调用Python脚本传递数据并返回计算结果

    Java调用Python脚本传递数据并返回计算结果

    实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,Java如何调用Python脚本,感兴趣的可以了解一下
    2021-05-05
  • Java把数字格式化为货币字符串实例代码

    Java把数字格式化为货币字符串实例代码

    这篇文章主要介绍了Java把数字格式化为货币字符串实例代码,需要的朋友可以参考下
    2014-02-02
  • Java语言的11大特点(Java初学者必知)

    Java语言的11大特点(Java初学者必知)

    Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。这篇文章主要介绍了Java语言的11大特点,需要的朋友可以参考下
    2020-07-07
  • Servlet的线程安全问题

    Servlet的线程安全问题

    本文主要介绍了Servlet的线程安全问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • java常见事件响应方法实例汇总

    java常见事件响应方法实例汇总

    这篇文章主要介绍了java常见事件响应方法,对于初学者有很好的参考借鉴价值,分享给大家,需要的朋友可以参考下
    2014-08-08
  • 详解Java编程中线程的挂起、恢复和终止的方法

    详解Java编程中线程的挂起、恢复和终止的方法

    这篇文章主要介绍了详解Java编程中线程的挂起、恢复和终止的方法,线程是Java学习中的重点和难点知识,需要的朋友可以参考下
    2015-09-09
  • JAVA和JAVAC 命令详细介绍

    JAVA和JAVAC 命令详细介绍

    这篇文章主要介绍了JAVA和JAVAC 命令详细介绍的相关资料,本文对java 和javac 命令进行了详解,并在Windows和Linux 平台分别说明,需要的朋友可以参考下
    2016-11-11
  • java 字节流和字符流的区别详解

    java 字节流和字符流的区别详解

    这篇文章主要介绍了java 字节流和字符流的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论