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

用Python获取PDF页面的大小、方向和旋转角度

在文档管理和自动化领域,了解PDF文档的内在属性(如页面大小、方向和旋转角度)对于确保一致的文档处理和布局保真度至关重要。这些属性在内容重用、归档以及PDF无缝集成到网络环境或其他数字工作流程中起着关键作用,因为它们直接影响文档的可读性和用户体验。通过利用Python,开发人员可以高效提取这些属性,从而方便旋转页面的自动更正等任务。

本文将展示如何使用Python代码获取PDF文档中页面的大小、方向和旋转角度

文章目录

    • 使用Python获取PDF页面的大小
    • 使用Python获取PDF页面的方向
    • 使用Python获取和设置PDF页面的旋转角度

本文使用的方法需要Spire.PDF for Python,PyPI安装命令:pip install Spire.PDF

使用Python获取PDF页面的大小

我们可以使用PdfPageBase.Size.WidthPdfPageBase.Size.Height来获取PDF页面的宽度和高度(单位为点)。然后,我们可以使用PdfUnitConvertor类将宽度和高度转换为其他单位,如毫米。详细步骤如下:

  • 导入必要的模块。
  • 创建一个PdfDocument对象,并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  • 使用PdfDocument.Pages.get_Item()方法获取文档中的页面。
  • 通过PdfPageBase.Size.WidthPdfPageBase.Size.Height属性获取页面的宽度和高度。
  • 创建一个PdfUnitConvertor对象。
  • 使用PdfUnitConvertor.Convert()方法将宽度和高度转换为毫米。
  • 打印结果。
  • 释放资源。

代码示例

from spire.pdf import *

# 创建一个 PdfDocument 实例
pdf = PdfDocument()

# 加载 PDF 文档
pdf.LoadFromFile("示例.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 获取页面宽度和高度(单位为点)
width = page.Size.Width
height = page.Size.Height

# 创建一个 PdfUnitConvertor 实例
converter = PdfUnitConvertor()

# 将宽度和高度从点转换为厘米
mmWidth = converter.ConvertUnits(width, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)
mmHeight = converter.ConvertUnits(height, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)

# 打印宽度和高度
print("宽度: " + str(round(mmWidth, 1)) + " 厘米")
print("高度: " + str(round(mmHeight, 1)) + " 厘米")

# 释放资源
pdf.Close()

结果
Python获取PDF页面宽高

使用Python获取PDF页面的方向

由于页面方向不是一个固定的参数,我们需要通过比较页面的高度和宽度来确定PDF页面是横向还是纵向。步骤如下:

  • 导入必要的模块。
  • 创建一个PdfDocument对象,并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  • 使用PdfDocument.Pages.get_Item()方法获取文档中的页面。
  • 通过PdfPageBase.Size.WidthPdfPageBase.Size.Height属性获取页面的宽度和高度。
  • 比较高度和宽度以确定PDF页面是横向还是纵向,并打印结果。
  • 释放资源。

代码示例

from spire.pdf import *

# 创建一个 PdfDocument 实例
pdf = PdfDocument()

# 加载 PDF 文档
pdf.LoadFromFile("示例.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 获取页面的宽度和高度
width = page.Size.Width
height = page.Size.Height

# 检查页面的方向并打印结果
if width > height:
    print("页面为横向")
else:
    print("页面为纵向")

# 释放资源
pdf.Close()

结果
Python获取PDF页面方向

使用Python获取和设置PDF页面的旋转角度

可以通过PdfPageBase.Rotation属性直接获取PDF页面的旋转角度。然后我们可以使用该值构建字符串并打印,或者通过PdfPageBase.Rotation属性更改旋转角度。详细步骤如下:

  • 导入必要的模块。
  • 创建一个PdfDocument对象,并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  • 使用PdfDocument.Pages.get_Item()方法获取文档中的页面。
  • 通过PdfPageBase.Rotation属性获取旋转角度。
  • 打印旋转角度或进行其他操作。
  • 释放资源。

代码示例

import re

from spire.pdf import *

# 创建 PdfDocument 实例
pdf = PdfDocument()

# 加载 PDF 文档
pdf.LoadFromFile("示例1.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 获取页面的旋转角度
rotationAngle = page.Rotation

# 输出旋转角度
print("旋转角度: " + re.search(r"\d+", rotationAngle.name).group() + " 度")

# 修改旋转角度
page.Rotation = PdfPageRotateAngle.RotateAngle0

# 保存文档
pdf.SaveToFile("output/ChangeRotationAngle.pdf")
pdf.Close()

结果
Python获取和设置PDF页面旋转角度

本文展示了如何使用Python获取PDF文档中页面的大小、方向和旋转角度。

有关更多PDF文档处理技巧,请参阅Spire.PDF for Python教程。

申请免费License


http://www.kler.cn/a/310701.html

相关文章:

  • 什么是两化融合
  • 【LeetCode】【算法】19. 删除链表的倒数第N个结点
  • 前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包
  • Kubernetes的基本构建块和最小可调度单元pod-0
  • 组件间通信(组件间传递数据)
  • SQL HAVING子句
  • 75年来最强台风中,开门见“光明”!百年乳企守护城市“奶瓶子”,传递温度
  • 从HarmonyOS升级到HarmonyOS NEXT-环信SDK数据迁移
  • 2024年最新版Vue3学习笔记
  • Pandas语句
  • 【笔记】进制转换
  • Redis技术解析(基础篇)
  • spring boot 定时器配置
  • Qt中pro项目文件配置介绍
  • 智慧园区:解析集成运维的未来之路
  • 在 Windows 上恢复已删除的 PDF 文件的最佳方法
  • 基于Spring Boot的能源管理系统+建筑能耗+建筑能耗监测系统+节能监测系统+能耗监测+建筑能耗监测
  • 健康监测功能或暂缓亮相,Apple Watch Series 10最新爆料解析
  • DeepFaceLab训练技巧
  • WordPress建站钩子函数及使用
  • 大数据新视界 --大数据大厂之 Cassandra 分布式数据库:高可用数据存储的新选择
  • 基于SpringBoot+Vue的网上书店
  • git bash中执行java命令乱码问题处理
  • Python基础(六)——PyEcharts数据可视化初级版
  • C语言 | Leetcode C语言题解之第414题第三大的数
  • java定时任务