用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.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文档中页面的大小、方向和旋转角度。
有关更多PDF文档处理技巧,请参阅Spire.PDF for Python教程。
申请免费License