java读取pdf文件内容(java获取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())); } }}
获取结果如下: