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文档作为示例,该文档的第一页有两张图片(如下图所示)。
在导入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()));
}
}
}
获取结果如下: