Cambiar el tamaño de página de PDF en Python
Aspose.PDF for Python via .NET le permite cambiar el tamaño de la página PDF con simples líneas de código. Este tema muestra cómo actualizar las dimensiones de la página usando el Document y Page APIs.
Utilice esta guía cuando necesite cambiar el tamaño de páginas PDF existentes, normalizar las dimensiones del documento o inspeccionar la configuración de cajas de página en Python.
Establezca el tamaño de página de una página PDF a A4
El ejemplo actualiza el tamaño de la primera página de un documento PDF a las dimensiones estándar de A4. También muestra las dimensiones de los recuadros de la página (CropBox, TrimBox, ArtBox, BleedBox, MediaBox) antes y después del redimensionado para que pueda verificar los cambios.
El siguiente fragmento de código muestra cómo cambiar las dimensiones de la página PDF al tamaño A4:
- Acceder al primero
PagedelDocument. - Mostrar los tamaños de caja de la página antes de la modificación (CropBox, TrimBox, ArtBox, BleedBox, MediaBox).
- Aplicar dimensiones A4 (597.6 × 842.4 points) usando la API de página.
- Mostrar los tamaños de caja de página actualizados.
- Guarde lo modificado
Documenta la ruta de salida especificada.
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)
Obtener tamaño de página PDF
Este fragmento lee un PDF y recupera las dimensiones (ancho y alto) de la primera página. Utiliza el Page API para extraer el límite de la página Rectangle y muestra su tamaño en la consola. Esto es útil para inspeccionar el diseño de la página, verificar formatos o preparar documentos para un procesamiento adicional.
- Cargar el PDF como un
Document. - Acceder al primero
Page. - Recuperar el rectángulo delimitador de la página usando
get_page_rect(). - Extraer los valores de ancho y alto.
- Imprimir las dimensiones de la página.
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}")
Obtener el tamaño de página PDF antes y después de la rotación
Recupere las dimensiones de una página PDF antes y después de aplicar una rotación de 90°. Esto demuestra cómo la rotación afecta el ancho y la altura y cómo usar get_page_rect() con o sin consideración de rotación.
- Abre el PDF como un
Document. - Acceder al primero
Page. - Aplicar una rotación de 90° usando
page.rotate = ap.Rotation.ON90(ver elRotationenum). - Recuperar el rectángulo de la página sin rotación usando
get_page_rect(False)y muestra su ancho y altura. - Recuperar el rectángulo de la página considerando la rotación usando
get_page_rect(True)y muestra su ancho y altura. - Compare cómo cambian las dimensiones debido a la rotación.
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}")