当前位置: 首页 > wzjs >正文

网站备案现状搜狗搜索网页版

网站备案现状,搜狗搜索网页版,搬瓦工如何搭建做网站,本地佛山顺德网站建设目录 引言 一、安装和引入PDF处理库 二、获取 PDF 页数 三、获取页面尺寸(宽高) 四、获取页面旋转角度 五、判断页面方向(横向 / 纵向) 六、获取页面标签 七、获取页面边框信息 八、总结 引言 了解 PDF 页面属性是我们在…

目录

引言

一、安装和引入PDF处理库

二、获取 PDF 页数

三、获取页面尺寸(宽高)

四、获取页面旋转角度

五、判断页面方向(横向 / 纵向)

六、获取页面标签

七、获取页面边框信息

八、总结


引言

了解 PDF 页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环。PDF 文件可能包含多个页面,而这些页面可能具有不同的宽高、旋转角度、方向模式甚至自定义标签和边框信息。

本文将介绍如何使用 Java 读取 PDF 页面信息,包括:

  • 获取 PDF 页数
  • 获取页面尺寸(宽高)
  • 获取页面旋转角度
  • 判断页面方向(横向 / 纵向)
  • 获取页面标签
  • 获取页面边框信息(MediaBox、CropBox 等)

一、安装和引入PDF处理库

要在 Java 中获取 PDF 页面信息,可使用 Spire.PDF for Java 库。它支持加载、解析、编辑和导出 PDF 文件。

引入依赖

1. Maven项目

如果你使用 Maven 构建项目,可在 pom.xml 中添加如下依赖:

<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository>
</repositories><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf</artifactId><version>11.7.0</version>
</dependency>

2. 非Maven项目

对于非 Maven 项目,你可以前往 官网 下载 jar 包并手动导入项目。

二、获取 PDF 页数

了解 PDF 的总页数是处理文档的第一步,它可以帮助我们执行分页提取、范围打印或页面遍历等操作。

实现步骤:

  • 创建 PdfDocument 对象;
  • 使用 PdfDocument.loadFromFile() 方法打开 PDF 文档;
  • 调用 PdfDocument.getPages().getCount() 获取页数。

示例代码:

import com.spire.pdf.*;public class GetPageCount {
public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("测试.pdf");int pageCount = pdf.getPages().getCount();System.out.println("该 PDF 共 " + pageCount + " 页。");pdf.close();}
}

三、获取页面尺寸(宽高)

页面的尺寸决定了内容的排版范围,不同的 PDF 页面可能采用不同的纸张标准,如 A4、Letter 或自定义大小。

实现步骤:

  • 打开 PDF 文档;
  • 使用PdfDocument.getPages().get()方法获取指定页面(通过索引);
  • 调用 PdfPageBase.getSize().getWidth() 和 PdfPageBase.getSize().getHeight() 方法获取宽高信息;
  • 输出尺寸数据。

示例代码:

import com.spire.pdf.*;public class GetPageSize {public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("测试.pdf");PdfPageBase page = pdf.getPages().get(0); // 获取第一页double width = page.getSize().getWidth();double height = page.getSize().getHeight();System.out.printf("第一页尺寸为:%.2f x %.2f pt%n", width, height);pdf.close();}
}

注意,页面尺寸默认单位为 pt(磅),1 英寸 = 72 磅。如果你需要将尺寸转换为英寸、像素、厘米或毫米进行打印适配或前端渲染,可以使用 PdfUnitConvertor 类进行单位转换:

float pointValue = 595.0f; // 示例:A4 宽度为 595 ptPdfUnitConvertor converter = new PdfUnitConvertor();float inch = converter.convertUnits(pointValue, PdfGraphicsUnit.Point, PdfGraphicsUnit.Inch);
float pixel = converter.convertUnits(pointValue, PdfGraphicsUnit.Point, PdfGraphicsUnit.Pixel);
float mm = converter.convertUnits(pointValue, PdfGraphicsUnit.Point, PdfGraphicsUnit.Millimeter);
float cm = converter.convertUnits(pointValue, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter);System.out.printf("595 pt 对应:%.2f 英寸,%.2f 像素,%.2f 毫米,%.2f 厘米%n", inch, pixel, mm, cm);

四、获取页面旋转角度

页面旋转信息可以帮助我们判断是否需要在程序中进行角度还原或页面调整,避免内容呈现异常。

实现步骤:

  • 打开 PDF 文档;
  • 获取目标页面;
  • 使用 PdfPageBase.getRotation().getValue() 方法获取旋转角度;
  • 输出角度信息。

示例代码:

import com.spire.pdf.*;public class GetPageRotation {public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("测试.pdf");PdfPageBase page = pdf.getPages().get(0);int rotation = page.getRotation().getValue();System.out.println("第一页旋转角度为:" + rotation + "°");pdf.close();}
}

五、判断页面方向(横向 / 纵向)

PDF 页面可分为 Portrait(纵向)和 Landscape(横向),不同方向适用于不同类型的内容展示(如文字或表格)。

实现步骤:

  • 打开 PDF 文档;
  • 获取目标页面;
  • 调用 PdfPageBase.getSize().getWidth() 和 PdfPageBase.getSize().getHeight() 方法获取页面的宽高信息;
  • 比较宽度与高度。若宽度 > 高度,则为横向,否则为纵向;
  • 输出页面方向信息。

示例代码:

import com.spire.pdf.*;public class GetPageOrientation {public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("测试.pdf");PdfPageBase page = pdf.getPages().get(0);double width = page.getSize().getWidth();double height = page.getSize().getHeight();String orientation = width > height ? "横向" : "纵向";System.out.println("第一页页面方向为:" + orientation);pdf.close();}
}

六、获取页面标签

PDF 页面标签(Page Label)可用于自定义页码(如 i, ii, iii, A-1, A-2),对于章节分隔、目录定位等功能尤为常见。

实现步骤:

  • 打开 PDF 文档并获取目标页面;
  • 使用 PdfPageBase.getPageLabel() 方法获取目标页的标签文字;
  • 判断标签文字是否存在。若存在,输出标签信息,否则输出“无标签”。

示例代码:

import com.spire.pdf.*;public class GetPageLabel {public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("示例.pdf");PdfPageBase page = pdf.getPages().get(0);String label = page.getPageLabel();String labelText = (label != null && !label.trim().isEmpty()) ? label : "无标签";System.out.println("第一页页面标签为:" + labelText);pdf.close();}
}

七、获取页面边框信息

PDF 页面所定义的边框不仅用于限制内容的显示范围,还涵盖多个与印刷和裁切相关的区域。这些边框各自承担不同的功能,例如用于标识纸张尺寸、设置可视区域、预留出血位置以及定义裁切和内容区域等。下图展示了这些边框在页面中的分布情况:

PDF边框在页面中的分布情况

PDF页面各类边框说明

边框类型

说明

MediaBox

页面介质框,表示纸张的实际物理尺寸范围

CropBox

裁剪框,定义最终用于显示或打印的区域

BleedBox

出血框,用于印刷时预留的出血区域

TrimBox

成品框,表示裁剪后的页面成品大小

ArtBox

作品框,限定页面中有效的内容区域

实现步骤:

  • 打开PDF文档并获取目标页面;
  • 分别使用PdfPageBase类的 getMediaBox()、getCropBox()、getBleedBox()、getTrimBox()、getArtBox() 方法获取各个对应的边框信息;
  • 分别使用 Rectangle2D类的getWidth()、getHeight()、getX()、getY() 方法读取每个边框的宽度、高度、以及X和Y坐标等属性值,输出结果。

示例代码:

import com.spire.pdf.*;
import java.awt.geom.Rectangle2D;public class GetPageBoxes {public static void main(String[] args) {PdfDocument pdf = new PdfDocument();pdf.loadFromFile("测试.pdf");PdfPageBase page = pdf.getPages().get(0);Rectangle2D mediaBox = page.getMediaBox();Rectangle2D cropBox = page.getCropBox();Rectangle2D bleedBox = page.getBleedBox();Rectangle2D trimBox = page.getTrimBox();Rectangle2D artBox = page.getArtBox();System.out.printf("MediaBox: 宽 %.2f, 高 %.2f, X %.2f, Y %.2f%n",mediaBox.getWidth(), mediaBox.getHeight(), mediaBox.getX(), mediaBox.getY());System.out.printf("CropBox: 宽 %.2f, 高 %.2f, X %.2f, Y %.2f%n",cropBox.getWidth(), cropBox.getHeight(), cropBox.getX(), cropBox.getY());System.out.printf("BleedBox: 宽 %.2f, 高 %.2f, X %.2f, Y %.2f%n",bleedBox.getWidth(), bleedBox.getHeight(), bleedBox.getX(), bleedBox.getY());System.out.printf("TrimBox: 宽 %.2f, 高 %.2f, X %.2f, Y %.2f%n",trimBox.getWidth(), trimBox.getHeight(), trimBox.getX(), trimBox.getY());System.out.printf("ArtBox: 宽 %.2f, 高 %.2f, X %.2f, Y %.2f%n",artBox.getWidth(), artBox.getHeight(), artBox.getX(), artBox.getY());pdf.close();}
}

八、总结

本文详细介绍了如何通过 Java 语言结合 Spire.PDF for Java 库获取 PDF 文档中各页面的重要属性信息,包括页数、页面尺寸、旋转角度、页面方向、页面标签以及边框区域等。

如果你有提取表格、添加签名、水印或压缩文件等更复杂的处理需求,也可以使用 Spire.PDF for Java 提供的相关接口。具体使用方法可参考官方文档中的详细说明。

以上就是使用Java 获取 PDF 页面信息的所有内容。感谢阅读!

本文完结。

http://www.dtcms.com/wzjs/219729.html

相关文章:

  • 怎么在网上建网站啊百度指数app
  • wordpress媒体库 不显示学seo需要学什么专业
  • 主流科技类的网站都有哪些朋友圈推广平台
  • 网站建设iis竞价推广托管开户
  • 专业网站制作咨询微商引流一般用什么软件
  • 丽水企业网站开发企业全自动推广软件
  • 综述题建设网站需要几个步骤微信推广费用一般多少
  • 北京网络科技公司有哪些成都seo外包
  • 网站建设北京企业seo顾问公司
  • 电子网站建设怎么做企业策划书
  • 如何选择锦州网站建设广东seo网站推广代运营
  • 有了虚拟主机怎么做网站国家提供的免费网课平台
  • 用自己的名字做网站域名简述什么是seo
  • 合肥网站搭建一站式自媒体服务平台
  • 中核华泰建设有限公司网站百度公司总部
  • 建设网站可以做什么本地建站软件有哪些
  • 自己做直播网站成都网站seo排名优化
  • 房地产楼盘微信网站建设营销方案福州seo推广外包
  • 网站平台做推广方案设计谷歌官网注册入口
  • 网站的内链怎么做友情链接属于免费推广吗
  • 方维网站建设软文代发布
  • 深圳怎么做网站seo搜索优化是什么呢
  • 100t空间 做网站分享几个x站好用的关键词
  • 网站做301网站代搭建维护
  • 合肥专业网站制作设计吉林seo基础知识
  • 如何快速用手机做网站小程序开发制作
  • 网站设计方案怎么做厦门百度推广排名优化
  • wordpress 无广告视频网站百度竞价推广怎么样才有效果
  • 网站怎么做数据转移百度搜题网页版入口
  • 网站设计怎么做十大经典口碑营销案例