使用python获取PDF页面的大小、方向和旋转角度
作者:Eiceblue
在文档管理和自动化领域,了解PDF文档的内在属性(如页面大小、方向和旋转角度)对于确保一致的文档处理和布局保真度至关重要,因为它们直接影响文档的可读性和用户体验,本文将展示如何使用Python代码获取PDF文档中页面的大小、方向和旋转角度,需要的朋友可以参考下
引言
在文档管理和自动化领域,了解PDF文档的内在属性(如页面大小、方向和旋转角度)对于确保一致的文档处理和布局保真度至关重要。这些属性在内容重用、归档以及PDF无缝集成到网络环境或其他数字工作流程中起着关键作用,因为它们直接影响文档的可读性和用户体验。通过利用Python,开发人员可以高效提取这些属性,从而方便旋转页面的自动更正等任务。
本文将展示如何使用Python代码获取PDF文档中页面的大小、方向和旋转角度。
本文使用的方法需要Spire.PDF for Python,PyPI安装命令:pip install Spire.PDF
。
使用Python获取PDF页面的大小
我们可以使用PdfPageBase.Size.Width
和PdfPageBase.Size.Height
来获取PDF页面的宽度和高度(单位为点)。然后,我们可以使用PdfUnitConvertor
类将宽度和高度转换为其他单位,如毫米。详细步骤如下:
- 导入必要的模块。
- 创建一个
PdfDocument
对象,并使用PdfDocument.LoadFromFile()
方法加载PDF文档。 - 使用
PdfDocument.Pages.get_Item()
方法获取文档中的页面。 - 通过
PdfPageBase.Size.Width
和PdfPageBase.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页面的方向
由于页面方向不是一个固定的参数,我们需要通过比较页面的高度和宽度来确定PDF页面是横向还是纵向。步骤如下:
- 导入必要的模块。
- 创建一个PdfDocument对象,并使用PdfDocument.LoadFromFile()方法加载PDF文档。
- 使用PdfDocument.Pages.get_Item()方法获取文档中的页面。
- 通过PdfPageBase.Size.Width和PdfPageBase.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页面的旋转角度
可以通过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页面的大小、方向和旋转角度的详细内容,更多关于python获取PDF页面属性的资料请关注脚本之家其它相关文章!