Add File Attachment Annotation From Stream
Contents
[
Hide
]
File attachment annotations allow embedding files as interactive icons within a PDF page. Using a stream-based approach, you can attach files dynamically without relying on a physical file path. This method also supports customizing the annotation’s appearance, including opacity.
- Create the PdfContentEditor object.
- Bind the input PDF.
- Read the Attachment File as a Stream.
- Add the File Attachment Annotation.
- Save the updated 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)