在 Python 中更改 PDF 页面大小
Contents
[
Hide
]
Aspose.PDF for Python via .NET 让您只需几行代码即可更改 PDF 页面尺寸。本主题展示了如何使用 the Document 和 Page API。
当您需要在 Python 中调整现有 PDF 页面大小、统一文档尺寸或检查页面框设置时,请使用本指南。
请注意,高度和宽度属性使用点(points)作为基本单位,其中 1 英寸 = 72 点,1 厘米 = 1/2.54 英寸 = 0.3937 英寸 = 28.3 点。
将 PDF 页面 的页面大小设置为 A4
此示例将 PDF 文档中第一页的尺寸更新为标准的 A4 大小。它还在调整大小前后打印页面的盒子尺寸(CropBox、TrimBox、ArtBox、BleedBox、MediaBox),以便您验证更改。
以下代码片段展示了如何将 PDF 页面尺寸更改为 A4 大小:
- 访问第一个
Page的Document. - 在修改之前显示页面的框大小(CropBox、TrimBox、ArtBox、BleedBox、MediaBox)。
- 使用页面 API 应用 A4 尺寸(597.6 × 842.4 点)。
- 显示已更新的页面框尺寸。
- 保存已修改的
Document到指定的输出路径。
import aspose.pdf as ap
def set_page_size(input_file_name, output_file_name):
document = ap.Document(input_file_name)
# Get particular page
page = document.pages[1]
# Set the page size as A4 (8.3 x 11.7 in) and in Aspose.Pdf, 1 inch = 72 points
# So A4 dimensions in points will be (597.6, 842.4) for portrait orientation
print("Before set")
print(f"CropBox: {page.crop_box.width} x {page.crop_box.height}")
print(f"TrimBox: {page.trim_box.width} x {page.trim_box.height}")
print(f"ArtBox: {page.art_box.width} x {page.art_box.height}")
print(f"BleedBox: {page.bleed_box.width} x {page.bleed_box.height}")
print(f"MediaBox: {page.media_box.width} x {page.media_box.height}")
page.set_page_size(597.6, 842.4)
print("After set")
print(f"CropBox: {page.crop_box.width} x {page.crop_box.height}")
print(f"TrimBox: {page.trim_box.width} x {page.trim_box.height}")
print(f"ArtBox: {page.art_box.width} x {page.art_box.height}")
print(f"BleedBox: {page.bleed_box.width} x {page.bleed_box.height}")
print(f"MediaBox: {page.media_box.width} x {page.media_box.height}")
# Save the updated document
document.save(output_file_name)
获取 PDF 页面大小
此代码段读取 PDF 并获取第一页的尺寸(宽度和高度)。它使用 Page API 提取页面的边界 Rectangle 并将其大小打印到控制台。这对于检查页面布局、验证格式或为进一步处理准备文档非常有用。
import aspose.pdf as ap
def get_page_size(input_file_name, output_file_name):
document = ap.Document(input_file_name)
# Get particular page
page = document.pages[1]
rectangle = page.get_page_rect(True)
print(f"{rectangle.width} : {rectangle.height}")
获取 PDF 页面大小(旋转前后)
检索 PDF 页面在应用 90° 旋转前后的尺寸。这演示了旋转如何影响宽度和高度以及如何使用 get_page_rect() 考虑或不考虑旋转。
- 将 PDF 打开为
Document. - 访问第一个
Page. - 使用 90° 旋转
page.rotate = ap.Rotation.ON90(请参见Rotation枚举). - 在不旋转的情况下检索页面矩形
get_page_rect(False)并打印其宽度和高度。 - 检索考虑旋转的页面矩形
get_page_rect(True)并打印其宽度和高度。 - 比较由于旋转导致的尺寸变化。
import aspose.pdf as ap
def get_page_size_rotation(input_file_name, output_file_name):
document = ap.Document(input_file_name)
# Get particular page
page = document.pages[1]
page.rotate = ap.Rotation.ON90
rectangle = page.get_page_rect(False)
print(f"{rectangle.width} : {rectangle.height}")
rectangle = page.get_page_rect(True)
print(f"{rectangle.width} : {rectangle.height}")