Ajouter et Supprimer un Signet en Python

Ajouter un signet à un document PDF

Les signets sont contenus dans la collection OutlineItemCollection de l’objet Document, elle-même dans la collection OutlineCollection.

Pour ajouter un signet à un PDF :

  1. Ouvrez un document PDF à l’aide de l’objet Document.
  2. Créez un signet et définissez ses propriétés.
  3. Ajoutez la collection OutlineItemCollection à la collection Outlines.

Le code suivant vous montre comment ajouter un signet dans un document PDF.


    import aspose.pdf as ap

    # Ouvrir le document
    document = ap.Document(input_pdf)

    # Créer un objet signet
    outline = ap.OutlineItemCollection(document.outlines)
    outline.title = "Test Signet"
    outline.italic = True
    outline.bold = True
    # Définir le numéro de la page de destination
    outline.action = ap.annotations.GoToAction(document.pages[1])
    # Ajouter le signet dans la collection d'outline du document.
    document.outlines.append(outline)

    # Enregistrer le résultat
    document.save(output_pdf)

Ajouter un Signet Enfant au Document PDF

Les signets peuvent être imbriqués, indiquant une relation hiérarchique avec des 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, en définissant ses propriétés.
  3. Ajoutez la OutlineItemCollection à la collection OutlineCollection de l’objet Document.

Le signet enfant est créé exactement comme le signet parent, expliqué ci-dessus, mais 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

    # Ouvrir le document
    document = ap.Document(input_pdf)

    # Créer un objet signet parent
    outline = ap.OutlineItemCollection(document.outlines)
    outline.title = "Parent Outline"
    outline.italic = True
    outline.bold = True

    # Créer un objet signet enfant
    childOutline = ap.OutlineItemCollection(document.outlines)
    childOutline.title = "Child Outline"
    childOutline.italic = True
    childOutline.bold = True

    # Ajouter un signet enfant dans la collection du signet parent
    outline.append(childOutline)
    # Ajouter un signet parent dans la collection de contours du document.
    document.outlines.append(outline)

    # Sauvegarder le résultat
    document.save(output_pdf)

Supprimer tous les signets d’un document PDF

Tous les signets d’un PDF sont contenus dans la collection OutlineCollection. Cet article explique comment supprimer tous les signets d’un fichier PDF.

Pour supprimer tous les signets d’un fichier PDF :

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

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


    import aspose.pdf as ap

    # Ouvrir le document
    document = ap.Document(input_pdf)

    # Supprimer tous les signets
    document.outlines.delete()

    # Enregistrer le fichier mis à jour
    document.save(output_pdf)

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 méthode Delete de la collection OutlineCollection.
  2. Ensuite, enregistrez le fichier mis à jour avec la méthode Save de l’objet Document.

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

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


    import aspose.pdf as ap

    # Ouvrir le document
    document = ap.Document(input_pdf)

    # Supprimer un contour particulier par titre
    document.outlines.delete("Child Outline")

    # Enregistrer le fichier mis à jour
    document.save(output_pdf)