Asegurar PDF generado a partir de iTextPdf

He creado un software que genera un pdf como parte de su función, estoy usando la biblioteca iTextPDF Java para generar PDF. Para una versión de demostración de mi software, agregué marcas de agua de texto (como "software de demostración") usando el siguiente código

PdfContentByte under = writer.getDirectContentUnder(); BaseFont baseFont = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED); under.beginText(); under.setColorFill(BaseColor.RED); under.setFontAndSize(baseFont, 25); under.showTextAligned(PdfContentByte.ALIGN_CENTER," demo software",250, 470,55); under.endText();

Después lo convertí al formato .docx usando el convertidor de PDF a Word y el archivo docx resultante no contiene la marca de agua, también el contenido es fácilmente editable, por lo que el único propósito de dar un software de demostración se desvaneció.

¿Cómo puedo lograr una marca de agua permanente para que el convertidor de PDF a Word no pueda eliminarlo?

Una idea que me viene a la mente es que, en lugar de poner el texto en el pdf, debería haber una forma de convertir todo el texto de una página primero en una imagen y luego hacer que el pdf comprenda esas imágenes. Pero no estoy seguro de cómo lograr esto usando iTextPdf.

Respuesta 1

Resumen ¿Cómo se obtiene la sesión de un cliente de servicios web que utiliza servicios web de Spring y Spring Security? Detalles después de enviar <form method = "POST" action = "<c: url value =" / ...

Mi pregunta es esencialmente una duda sobre la recursividad. Estaba resolviendo el clásico problema transversal DFS "Rata en un laberinto". Mi entrada fue una matriz n * n int a [] [] donde para los índices i y j, a [i] [j] podría ...

Tengo un archivo xml creado con xmloutputter. En la primera vez que se crea, me crea el encabezado, pero luego agrego información, no lo haría. ¿Cómo puedo omitirlo? EDITAR elemento ...

Estoy ejecutando los códigos oficiales de SDK Junit, y funciona bien. Pero cuando cambio la información de la cuenta a la mía, se produce una excepción. Debug dice que devuelve el estado http de 400 cuando se publica en el punto final "/ oauth / ...