Добавить аннотацию вложения файла из потока

Contents
[ ]

Аннотации вложения файлов позволяют встраивать файлы в виде интерактивных значков на странице PDF. При использовании потокового подхода вы можете динамически прикреплять файлы без привязки к физическому пути файла. Этот метод также поддерживает настройку внешнего вида аннотации, включая непрозрачность.

  1. Создайте объект PdfContentEditor.
  2. Привяжите входной PDF.
  3. Прочитайте файл вложения как поток.
  4. Добавьте аннотацию вложения файла.
  5. Сохраните обновлённый Document.
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)