Eliminar sello por ID

Contents
[ ]

Al trabajar con PDFs que contienen múltiples sellos, a menudo es necesario eliminar sellos específicos sin afectar a los demás. Usando la eliminación basada en ID, puedes controlar con precisión qué sellos eliminar:

  • ‘delete_stamp_by_id(stamp_id, page_number)’ – elimina un solo sello por su ID en una página específica
  • ‘delete_stamp_by_ids(page_number, stamp_ids)’ – elimina varios sellos por sus IDs en una página dada
  1. Crear un PdfContentEditor instancia.
  2. Vincula el documento PDF de entrada.
  3. Añade dos sellos de goma con IDs distintos.
  4. Elimina sellos utilizando tanto el método de eliminación por ID único como el de eliminación por varios IDs.
  5. Guardar el PDF actualizado.
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 delete_stamp_by_ids_examples(infile, outfile):
    # Create PdfContentEditor object
    content_editor = pdf_facades.PdfContentEditor()
    # Bind document to PdfContentEditor
    content_editor.bind_pdf(infile)

    # Create two stamps on page 1 so they can be deleted by ID
    content_editor.create_rubber_stamp(
        1,
        apd.Rectangle(120, 320, 180, 60),
        "Draft",
        "Delete by single ID",
        apd.Color.orange,
    )
    content_editor.create_rubber_stamp(
        1,
        apd.Rectangle(120, 250, 180, 60),
        "Draft",
        "Delete by multiple IDs",
        apd.Color.orange,
    )

    # Delete by single ID overload and by IDs overload
    content_editor.delete_stamp_by_id(1, 1)
    content_editor.delete_stamp_by_ids(1, [2])

    # Save updated document
    content_editor.save(outfile)