欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java读取pdf文件内容(java获取pdf内容带格式)

程序员文章站 2023-11-30 13:38:46
在pdf文档中,图片的坐标信息能够帮助我们更好地对图片进行操作。本文就将介绍如何通过java代码来获取pdf文档中已有图片的坐标信息。此次代码演示用到的工具仍旧是一款名为free spire.pdf...

在pdf文档中,图片的坐标信息能够帮助我们更好地对图片进行操作。本文就将介绍如何通过java代码来获取pdf文档中已有图片的坐标信息。

此次代码演示用到的工具仍旧是一款名为free spire.pdf for java的免费控件。在运行代码前,我们需要将控件里的相关jar包导入idea中。导入方式有两种:

1、手动导入。在e-iceblue中文官网上下载产品安装包,解压后找到lib文件夹下的spire.pdf.jar,然后进行手动导入;

2、maven仓库导入。在idea中创建maven仓库,然后在pom.xml中引用以下代码,最后点击“import changes”即可。

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>e-iceblue</groupid>
        <artifactid>spire.pdf.free</artifactid>
        <version>3.9.0</version>
    </dependency>
</dependencies>

代码示例

我将用一个pdf文档作为示例,该文档的第一页有两张图片(如下图所示)。

java读取pdf文件内容(java获取pdf内容带格式)

在导入jar包后,我们就可以在idea中创建一个java class类,然后键入以下代码来获取示例文档中的图片的坐标信息。

import com.spire.pdf.pdfdocument;
import com.spire.pdf.pdfpagebase;
import com.spire.pdf.exporting.pdfimageinfo;
import java.awt.geom.rectangle2d;

public class getcoordinateofimages {
    public static void main(string[] args) {
        //创建pdfdocument对象
        pdfdocument doc = new pdfdocument();

        //加载一个pdf文档
        doc.loadfromfile("c:\users\test1\desktop\sample.pdf");

        //获取第一页
        pdfpagebase page = doc.getpages().get(0);

        //获取第一页上的图片信息
        pdfimageinfo[] imageinfo = page.getimagesinfo();

        //遍历图片信息
        for (int i = 0; i < imageinfo.length; i++) {

            //获取指定图片的边界属性
            rectangle2d rect = imageinfo[i].getbounds();

            //获取左上角坐标
            system.out.println(string.format("第%d张图片的左上角坐标为:(%f, %f)", i+1, rect.getx(), rect.gety()));
        }
    }
}

获取结果如下:

java读取pdf文件内容(java获取pdf内容带格式)