Uso de Anotación de Texto para PDF a través de Python
Cómo agregar una anotación de texto a un archivo PDF existente
Una anotación de texto es una anotación adjunta a una ubicación específica en un documento PDF. Cuando está cerrada, la anotación se muestra como un ícono; cuando está abierta, debería mostrar una ventana emergente que contenga el texto de la nota en la fuente y tamaño elegidos por el lector.
Las anotaciones están contenidas en la colección Annotations de una página en particular. Esta colección contiene las anotaciones solo para esa página individual; cada página tiene su propia colección de Annotations.
Para agregar una anotación a una página en particular, agrégala a la colección Annotations de esa página con el método add().
-
Primero, crea una anotación que desees agregar al PDF.
-
Luego abre el PDF de entrada.
-
Agrega la anotación a la colección de Annotations del objeto ‘page’.
El siguiente fragmento de código te muestra cómo agregar una anotación en una página PDF.
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotation = ap.annotations.TextAnnotation(
document.pages[1], ap.Rectangle(300, 700.664, 320, 720.769, True)
)
textAnnotation.title = "Usuario de Aspose"
textAnnotation.subject = "Texto insertado 1"
textAnnotation.contents = "qwerty"
textAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
textAnnotation.color = ap.Color.blue
document.pages[1].annotations.append(textAnnotation)
document.save(output_file)
Obtener anotación de texto del archivo PDF
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
]
for ta in textAnnotations:
print(ta.rect)
Eliminar anotación de texto de un archivo PDF
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
]
for ta in textAnnotations:
document.pages[1].annotations.delete(ta)
document.save(output_file)
Cómo agregar (o crear) una nueva anotación de texto libre
Una anotación de texto libre muestra texto directamente en la página. La clase FreeTextAnnotation permite crear este tipo de anotación. En el siguiente fragmento, agregamos una anotación de texto libre sobre la primera aparición de la cadena.
import aspose.pdf as ap
# Cargar el archivo PDF
document = ap.Document(input_file)
freeTextAnnotation = ap.annotations.FreeTextAnnotation(
document.pages[1], ap.Rectangle(299, 713, 308, 720, True), ap.annotations.DefaultAppearance()
)
freeTextAnnotation.title = "Aspose User"
freeTextAnnotation.color = ap.Color.light_green
document.pages[1].annotations.append(freeTextAnnotation)
document.save(output_file)
Obtener anotación de texto libre de un archivo PDF
import aspose.pdf as ap
document = ap.Document(input_file)
freeTextAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
]
for fa in freeTextAnnotations:
print(fa.rect)
Eliminar anotación de texto libre de un archivo PDF
import aspose.pdf as ap
# Cargar el archivo PDF
document = ap.Document(input_file)
freeTextAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
]
for fa in freeTextAnnotations:
document.pages[1].annotations.delete(fa)
document.save(output_file)
Tachado de palabras usando StrikeOutAnnotation
Aspose.PDF para Python te permite agregar, eliminar y actualizar anotaciones en documentos PDF. Una de las clases también te permite tachar anotaciones. Cuando se aplica una StrikeOutAnnotation a un PDF, se dibuja una línea a través del texto especificado, indicando que debe ser eliminado o ignorado.
El siguiente fragmento de código muestra cómo agregar una StrikeOutAnnotation a un PDF.
import aspose.pdf as ap
document = ap.Document(input_file)
strikeoutAnnotation = ap.annotations.StrikeOutAnnotation(
document.pages[1], ap.Rectangle(299.988, 713.664, 308.708, 720.769, True)
)
strikeoutAnnotation.title = "Usuario de Aspose"
strikeoutAnnotation.subject = "Texto insertado 1"
strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
strikeoutAnnotation.color = ap.Color.blue
document.pages[1].annotations.append(strikeoutAnnotation)
document.save(output_file)
Obtener StrikeOutAnnotation de PDF
import aspose.pdf as ap
document = ap.Document(input_file)
StrikeoutAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
]
for pa in StrikeoutAnnotations:
print(pa.rect)
Eliminar StrikeOutAnnotation de PDF
import aspose.pdf as ap
document = ap.Document(input_file)
StrikeoutAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
]
for pa in StrikeoutAnnotations:
document.pages[1].annotations.delete(pa)
document.save(output_file)