Anotaciones de marca de agua usando Java
Contents
[
Hide
]
Las anotaciones de marca de agua le permiten colocar contenido superpuesto reutilizable en una página mientras lo gestiona a través de la colección de anotaciones.
Agregar una anotación de marca de agua
Utilice este ejemplo cuando necesite una anotación de marca de agua de texto con configuraciones de fuente personalizadas y opacidad.
- Abra el PDF de origen
Document. - Cree un
WatermarkAnnotationy agréguelo a la página. - Configure el
TextState, texto de marca de agua, y opacidad, luego guarde el documento.
public static void watermarkAdd(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
Page page = document.getPages().get_Item(1);
WatermarkAnnotation watermarkAnnotation = new WatermarkAnnotation(
page,
new Rectangle(100, 100, 400, 200, true));
page.getAnnotations().add(watermarkAnnotation);
TextState textState = new TextState();
textState.setForegroundColor(Color.getBlue());
textState.setFontSize(25);
textState.setFont(FontRepository.findFont("Arial"));
watermarkAnnotation.setOpacity(0.5);
watermarkAnnotation.setTextAndState(new String[]{"HELLO", "Line 1", "Line 2"}, textState);
document.save(outputFile.toString());
}
}
Obtener anotaciones de marca de agua
Este ejemplo escanea la colección de anotaciones e imprime el rectángulo de cada anotación de marca de agua.
- Abra el PDF de origen
Document. - Itere a través de las anotaciones en la página objetivo.
- Filtre anotaciones por
AnnotationType.Watermarky imprima sus rectángulos.
public static void watermarkGet(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (Annotation a : document.getPages().get_Item(1).getAnnotations()) {
if (a.getAnnotationType() == AnnotationType.Watermark) {
System.out.println(a.getRect());
}
}
}
}
Eliminar anotaciones de marca de agua
Use este enfoque cuando las anotaciones de marca de agua existentes deban eliminarse del documento.
- Abra el PDF de origen
Document. - Recopile anotaciones de tipo
AnnotationType.Watermark. - Elimine las anotaciones recopiladas y guarde el archivo de salida.
public static void watermarkDelete(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
List<Annotation> toDelete = new ArrayList<>();
for (Annotation a : document.getPages().get_Item(1).getAnnotations()) {
if (a.getAnnotationType() == AnnotationType.Watermark) {
toDelete.add(a);
}
}
for (Annotation a : toDelete) {
document.getPages().get_Item(1).getAnnotations().delete(a);
}
document.save(outputFile.toString());
}
}