Ajouter une annotation de pièce jointe à partir d’un flux

Contents
[ ]

Les annotations de pièce jointe permettent d’intégrer des fichiers sous forme d’icônes interactives au sein d’une page PDF. En utilisant une approche basée sur les flux, vous pouvez attacher des fichiers dynamiquement sans dépendre d’un chemin de fichier physique. Cette méthode prend également en charge la personnalisation de l’apparence de l’annotation, y compris l’opacité.

  1. Créer l’objet PdfContentEditor.
  2. Lier le PDF d’entrée.
  3. Lire le fichier joint en tant que flux.
  4. Ajouter l’annotation de pièce jointe de fichier.
  5. Enregistrer le Document mis à jour.
import aspose.pdf.facades as pdf_facades
import aspose.pydrawing as apd
from io import BytesIO
import sys
from os import path

sys.path.append(path.join(path.dirname(__file__), ".."))

from config import set_license, initialize_data_dir


def add_file_attachment_annotation_from_stream(infile, attachment_file, outfile):
    # Create PdfContentEditor object
    content_editor = pdf_facades.PdfContentEditor()
    # Bind document to PdfContentEditor
    content_editor.bind_pdf(infile)

    with open(attachment_file, "rb") as source_stream:
        attachment_stream = BytesIO(source_stream.read())

    # Create file attachment annotation using stream+opacity overload
    content_editor.create_file_attachment(
        apd.Rectangle(130, 520, 20, 20),
        "Attachment annotation from stream",
        attachment_stream,
        path.basename(attachment_file),
        1,
        "Tag",
        0.75,
    )
    # Save updated document
    content_editor.save(outfile)