Agregar sellos de texto en PDF mediante Python
Añadir Sello de Texto con Python
Puede usar la clase TextStamp para agregar un sello de texto en un archivo PDF. La clase TextStamp proporciona las propiedades necesarias para crear un sello basado en texto como tamaño de fuente, estilo de fuente, y color de fuente, etc. Para agregar un sello de texto, necesita crear un objeto Document y un objeto TextStamp usando las propiedades requeridas. Después de eso, puede llamar al método add_stamp() de la Página para agregar el sello en el PDF. El siguiente fragmento de código le muestra cómo agregar un sello de texto en el archivo PDF.
import aspose.pdf as ap
# Abrir documento
document = ap.Document(input_pdf)
# Crear sello de texto
text_stamp = ap.TextStamp("Sample Stamp")
# Configurar si el sello es de fondo
text_stamp.background = True
# Establecer origen
text_stamp.x_indent = 100
text_stamp.y_indent = 100
# Rotar sello
text_stamp.rotate = ap.Rotation.ON90
# Configurar propiedades de texto
text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
text_stamp.text_state.font_size = 14.0
text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
text_stamp.text_state.foreground_color = ap.Color.aqua
# Agregar sello a una página en particular
document.pages[1].add_stamp(text_stamp)
# Guardar documento de salida
document.save(output_pdf)
Definir alineación para el objeto TextStamp
Agregar marcas de agua a documentos PDF es una de las características más demandadas y Aspose.PDF para Python es completamente capaz de agregar tanto marcas de agua de imagen como de texto. Tenemos una clase llamada TextStamp que proporciona la función de agregar sellos de texto sobre el archivo PDF. Recientemente ha habido un requisito para admitir la característica de especificar la alineación del texto al usar el objeto TextStamp. Así que, para cumplir con este requisito, hemos introducido la propiedad text_alignment en la clase TextStamp. Usando esta propiedad, podemos especificar la alineación de texto horizontal_alignment.
Los siguientes fragmentos de código muestran un ejemplo de cómo cargar un documento PDF existente y agregar un TextStamp sobre él.
import aspose.pdf as ap
# Instanciar objeto Documento con archivo de entrada
doc = ap.Document(input_pdf)
# Instanciar objeto FormattedText con cadena de ejemplo
text = ap.facades.FormattedText("This")
# Agregar nueva línea de texto a FormattedText
text.add_new_line_text("es un ejemplo")
text.add_new_line_text("Centrado")
text.add_new_line_text("TextStamp")
text.add_new_line_text("Objeto")
# Crear objeto TextStamp usando FormattedText
stamp = ap.TextStamp(text)
# Especificar la alineación horizontal del sello de texto como centrado
stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
# Especificar la alineación vertical del sello de texto como centrado
stamp.vertical_alignment = ap.VerticalAlignment.CENTER
# Especificar la alineación horizontal del texto de TextStamp como centrado
stamp.text_alignment = ap.HorizontalAlignment.CENTER
# Establecer margen superior para el objeto sello
stamp.top_margin = 20
# Agregar el objeto sello sobre la primera página del documento
doc.pages[1].add_stamp(stamp)
# Guardar el documento actualizado
doc.save(output_pdf)
Rellenar Texto de Trazo como Sello en un Archivo PDF
Hemos implementado la configuración del modo de renderizado para escenarios de adición y edición de texto. Para renderizar texto de trazo, cree un objeto TextState para transferir propiedades avanzadas. Establezca el color para el trazo. Después, configure el modo de renderizado de texto. El siguiente paso es vincular TextState y agregar el Sello.
El siguiente fragmento de código demuestra cómo agregar Texto de Trazo de Relleno:
import aspose.pdf as ap
# Crear un objeto TextState para transferir propiedades avanzadas
ts = ap.text.TextState()
# Establecer color para el trazo
ts.stroking_color = ap.Color.gray
# Establecer modo de renderizado de texto
ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
# Cargar un documento PDF de entrada
file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))
stamp = ap.facades.Stamp()
stamp.bind_logo(
ap.facades.FormattedText(
"PAGADO COMPLETAMENTE",
ap.facades.FontColor(100, 100, 100),
ap.facades.FontStyle.TIMES_ROMAN,
ap.facades.EncodingType.WINANSI,
True,
78.0,
)
)
# Vincular TextState
stamp.bind_text_state(ts)
# Establecer origen X,Y
stamp.set_origin(100, 100)
stamp.opacity = 5
stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
stamp.rotation = 45.0
stamp.is_background = False
# Agregar Sello
file_stamp.add_stamp(stamp)
file_stamp.save(output_pdf)
file_stamp.close()