Modifier la taille de la page PDF en Python

Aspose.PDF for Python via .NET vous permet de modifier la taille des pages PDF avec quelques lignes de code. Ce sujet montre comment mettre à jour les dimensions des pages en utilisant le Document et Page API.

Utilisez ce guide lorsque vous devez redimensionner les pages PDF existantes, normaliser les dimensions du document ou inspecter les paramètres de boîte de page en Python.

Définir la taille de page d’une page PDF à A4

L’exemple met à jour la taille de la première page d’un document PDF aux dimensions standard A4. Il affiche également les dimensions des boîtes de la page (CropBox, TrimBox, ArtBox, BleedBox, MediaBox) avant et après le redimensionnement afin que vous puissiez vérifier les modifications.

Le fragment de code suivant montre comment modifier les dimensions de la page PDF au format A4 :

  1. Accédez au premier Page du Document.
  2. Affichez les tailles des boîtes de la page avant modification (CropBox, TrimBox, ArtBox, BleedBox, MediaBox).
  3. Appliquez les dimensions A4 (597.6 × 842.4 points) à l’aide de l’API de page.
  4. Affichez les tailles de boîte de page mises à jour.
  5. Enregistrer le modifié Document vers le chemin de sortie spécifié.
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)

Obtenir la taille de la page PDF

Cet extrait lit un PDF et récupère les dimensions (largeur et hauteur) de la première page. Il utilise le Page API pour extraire les limites de la page Rectangle et affiche sa taille dans la console. Ceci est utile pour inspecter la mise en page, vérifier les formats ou préparer les documents pour un traitement ultérieur.

  1. Chargez le PDF en tant que Document.
  2. Accédez au premier Page.
  3. Récupérer le rectangle englobant de la page en utilisant get_page_rect().
  4. Extrayez les valeurs de largeur et de hauteur.
  5. Imprimez les dimensions de la page.
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}")

Obtenir la taille de la page PDF avant et après la rotation

Récupérez les dimensions d’une page PDF avant et après l’application d’une rotation de 90°. Cela démontre comment la rotation affecte la largeur et la hauteur et comment l’utiliser. get_page_rect() avec ou sans prise en compte de la rotation.

  1. Ouvrir le PDF en tant que Document.
  2. Accédez au premier Page.
  3. Appliquer une rotation de 90° en utilisant page.rotate = ap.Rotation.ON90 (voir le Rotation enum).
  4. Récupérer le rectangle de la page sans rotation en utilisant get_page_rect(False) et affiche sa largeur et sa hauteur.
  5. Récupérer le rectangle de la page en tenant compte de la rotation en utilisant get_page_rect(True) et affiche sa largeur et sa hauteur.
  6. Comparez comment les dimensions changent en raison de la rotation.
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}")

Sujets de page associés