Изменить размер страницы PDF в Python
Aspose.PDF for Python via .NET позволяет менять размер страниц PDF простыми строками кода. Эта тема показывает, как обновлять размеры страниц с помощью Document и Page API.
Используйте это руководство, когда вам необходимо изменить размер существующих страниц PDF, нормализовать размеры документа или проверить настройки коробок страниц в Python.
Установите размер страницы PDF на A4
В примере размер первой страницы PDF‑документа обновляется до стандартных размеров A4. Он также выводит размеры ограничителя страницы (CropBox, TrimBox, ArtBox, BleedBox, MediaBox) до и после изменения размера, чтобы вы могли проверить изменения.
Следующий фрагмент кода показывает, как изменить размеры страницы PDF до формата A4:
- Получите доступ к первой
PageизDocument. - Отобразить размеры уменьшеной страницы до изменения (CropBox, TrimBox, ArtBox, BleedBox, MediaBox).
- Примените размеры A4 (597.6 × 842.4 points) с помощью API страницы.
- Отобразить обновленные размеры уменьшеной страницы.
- Сохраните изменённый
Documentк указанному пути вывода.
import sys
import aspose.pdf as ap
from os import path
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 и выводит его размер в консоль. Это полезно для просмотра макета страницы, проверки форматов или подготовки документов к дальнейшей обработке.
- Загрузите PDF как
Document. - Получите доступ к первой
Page. - Получите обрезанный прямоугольник страницы с помощью
get_page_rect(). - Извлеките значения ширины и высоты.
- Выведите размеры страницы.
import sys
import aspose.pdf as ap
from os import path
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(см.Rotationenum). - Получите прямоугольник страницы без учета поворота с использованием
get_page_rect(False)и выведите её ширину и высоту. - Получите прямоугольник страницы с учётом поворота, используя
get_page_rect(True)и выведите её ширину и высоту. - Сравните, как изменяются размеры из‑за поворота.
import sys
import aspose.pdf as ap
from os import path
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}")