Ajouter et supprimer des signets PDF dans Python

Ajouter un signet à un document PDF

Les signets sont stockés dans l’objet Document OutlineItemCollection collection, elle‑même dans le OutlineCollection collection.

Pour ajouter un signet à un PDF :

  1. Ouvrez un document PDF en utilisant Document objet.
  2. Créer un signet et définir ses propriétés.
  3. Ajouter le OutlineItemCollection collection vers la collection Outlines.

L’extrait de code suivant montre comment ajouter un signet dans un document PDF.

import aspose.pdf as ap
import sys
from os import path

def add_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Create a bookmark object
    pdf_outline = ap.OutlineItemCollection(document.outlines)
    pdf_outline.title = "Test Outline"
    pdf_outline.italic = True
    pdf_outline.bold = True

    # Set the destination page number
    pdf_outline.action = ap.annotations.GoToAction(document.pages[1])

    # Add bookmark to the document's outline collection
    outlines = document.outlines
    outlines.append(pdf_outline)

    # Save PDF document
    document.save(outfile)

Ajouter un signet enfant au Document PDF

Les signets peuvent être imbriqués, indiquant une relation hiérarchique entre les signets parents et enfants. Cet article explique comment ajouter un signet enfant, c’est‑à‑dire un signet de deuxième niveau, à un PDF.

Pour ajouter un signet enfant à un fichier PDF, ajoutez d’abord un signet parent :

  1. Ouvrez un document.
  2. Ajoutez un signet à la OutlineItemCollection, définissant ses propriétés.
  3. Ajoutez la OutlineItemCollection à l’objet Document OutlineCollection collection.

Le signet enfant est créé de la même manière que le signet parent, expliqué ci‑dessus, mais il est ajouté à la collection Outlines du signet parent.

Les extraits de code suivants montrent comment ajouter un signet enfant à un document PDF.

import aspose.pdf as ap
import sys
from os import path

def add_child_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Create a parent bookmark object
    pdf_outline = ap.OutlineItemCollection(document.outlines)
    pdf_outline.title = "Parent Outline"
    pdf_outline.italic = True
    pdf_outline.bold = True

    # Create a child bookmark object
    pdf_child_outline = ap.OutlineItemCollection(document.outlines)
    pdf_child_outline.title = "Child Outline"
    pdf_child_outline.italic = True
    pdf_child_outline.bold = True

    # Add child bookmark to parent bookmark's collection
    pdf_outline.append(pdf_child_outline)

    # Add parent bookmark to the document's outline collection
    document.outlines.append(pdf_outline)

    # Save PDF document
    document.save(outfile)

Supprimer tous les signets d’un document PDF

Tous les signets d’un PDF sont stockés dans le OutlineCollection collection. Cet article explique comment supprimer tous les signets d’un fichier PDF.

Pour supprimer tous les signets d’un fichier PDF :

  1. Appelez le OutlineCollection méthode Delete de collection.
  2. Enregistrez le fichier modifié en utilisant le Document object’s save() méthode.

Les extraits de code suivants montrent comment supprimer tous les signets d’un document PDF.

import aspose.pdf as ap
import sys
from os import path

def delete_bookmarks(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Delete all bookmarks in the PDF document
    document.outlines.delete()

    # Save PDF document
    document.save(outfile)

Supprimer un signet particulier d’un document PDF

Pour supprimer un signet particulier d’un fichier PDF:

  1. Passez le titre du signet comme paramètre à la OutlineCollection méthode Delete de collection.
  2. Ensuite, enregistrez le fichier mis à jour avec la méthode Save de l’objet Document.

Le Document classe fournit le OutlineCollection collection. Le delete() La méthode supprime tout signet dont le titre est passé à la méthode.

Les extraits de code suivants montrent comment supprimer un signet particulier du document PDF.

import aspose.pdf as ap
import sys
from os import path

def delete_bookmark(infile, outfile):
    # Open PDF document
    document = ap.Document(infile)

    # Delete a specific bookmark by title.
    # Note: If multiple bookmarks have the same title, only the first matching bookmark will be deleted.
    document.outlines.delete("Child Outline")

    # Save PDF document
    document.save(outfile)

Sujets liés aux signets