<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf manipulation on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/es/tag/pdf-manipulation/</link>
    <description>Recent content in pdf manipulation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>es</language>
    <lastBuildDate>Mon, 07 Sep 2026 03:41:37 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/es/tag/pdf-manipulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Añadir marca de agua a PDF en Java</title>
      <link>https://blog-qa.conholdate.com/es/total/add-watermark-to-pdf-in-java/</link>
      <pubDate>Mon, 07 Sep 2026 03:41:37 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/es/total/add-watermark-to-pdf-in-java/</guid>
      <description>Aprenda a añadir una marca de agua a archivos PDF en Java usando Conholdate.Total for Java. Esta guía paso a paso incluye el código completo, la configuración y consejos de configuración.</description>
      <content:encoded><![CDATA[<p>Si necesita agregar una marca de agua a <a href="https://docs.fileformat.com/pdf">PDF</a> en Java, una superposición visual puede proteger sus documentos del uso no autorizado. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> ofrece un SDK potente que simplifica la manipulación de PDF en el lado del servidor. En esta guía verá un ejemplo completo, listo para ejecutar, aprenderá cómo funciona cada línea, configurará la dependencia de Maven y descubrirá opciones para ajustar finamente la opacidad, la rotación y la alineación para obtener resultados profesionales.</p>
<h2 id="ejemplo-de-código-completo-añadiendo-una-marca-de-agua-de-texto-a-pdf-en-java">Ejemplo de código completo: Añadiendo una marca de agua de texto a PDF en Java</h2>
<p>El siguiente ejemplo muestra cómo agregar una marca de agua de texto a un PDF usando Conholdate.Total for Java.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.Watermark<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.options.PdfLoadOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.options.PdfSaveOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.watermarks.TextWatermark<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.watermarks.HorizontalAlignment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.watermarks.VerticalAlignment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.awt.Color<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.awt.Font<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">AddPdfWatermark</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        String inputFile <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        String outputFile <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Create a text watermark
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        Font font <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Font<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Arial&#34;</span><span style="color:#f92672">,</span> Font<span style="color:#f92672">.</span><span style="color:#a6e22e">BOLD</span><span style="color:#f92672">,</span> 48<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        TextWatermark textWatermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextWatermark<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;CONFIDENTIAL&#34;</span><span style="color:#f92672">,</span> font<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">RED</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setOpacity</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">3</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotationAngle</span><span style="color:#f92672">(</span>45<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setHorizontalAlignment</span><span style="color:#f92672">(</span>HorizontalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setVerticalAlignment</span><span style="color:#f92672">(</span>VerticalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Load options for the source PDF (enable caching for large files)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        PdfLoadOptions loadOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> PdfLoadOptions<span style="color:#f92672">(</span>inputFile<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        loadOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setCacheSize</span><span style="color:#f92672">(</span>100 <span style="color:#f92672">*</span> 1024 <span style="color:#f92672">*</span> 1024<span style="color:#f92672">);</span> <span style="color:#75715e">// 100 MB cache
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize the Watermark processor
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        Watermark watermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Watermark<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Apply the watermark to every page of the PDF
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span>textWatermark<span style="color:#f92672">,</span> loadOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save the watermarked PDF
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            PdfSaveOptions saveOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> PdfSaveOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputFile<span style="color:#f92672">,</span> saveOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>Exception e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            System<span style="color:#f92672">.</span><span style="color:#a6e22e">err</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Failed to add watermark: &#34;</span> <span style="color:#f92672">+</span> e<span style="color:#f92672">.</span><span style="color:#a6e22e">getMessage</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>            e<span style="color:#f92672">.</span><span style="color:#a6e22e">printStackTrace</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>Nota:</strong> Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (<code>input.pdf</code>, <code>output.pdf</code>, etc.) para que coincidan con sus ubicaciones reales, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la <a href="https://docs.conholdate.com/java/">documentación oficial</a> o póngase en contacto con el <a href="https://forum.conholdate.com/c/total/5">equipo de soporte</a> para obtener ayuda.</p>
</blockquote>
<h2 id="entendiendo-cómo-agregar-una-marca-de-agua-a-pdf-en-java">Entendiendo cómo agregar una marca de agua a PDF en Java</h2>
<p>El código para agregar una marca de agua a PDF en Java sigue una secuencia clara que puedes adaptar a cualquier documento PDF.</p>
<ol>
<li><strong>Inicializar el procesador de marcas de agua</strong> - <code>Watermark watermark = new Watermark();</code> crea el motor que aplicará las marcas de agua.</li>
<li><strong>Crear un TextWatermark</strong> - El objeto <code>TextWatermark</code> contiene el texto, la fuente, el color, la opacidad y la rotación.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Font font <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Font<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Arial&#34;</span><span style="color:#f92672">,</span> Font<span style="color:#f92672">.</span><span style="color:#a6e22e">BOLD</span><span style="color:#f92672">,</span> 48<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>TextWatermark textWatermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextWatermark<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;CONFIDENTIAL&#34;</span><span style="color:#f92672">,</span> font<span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
</li>
<li><strong>Configurar la apariencia</strong> - Métodos como <code>setColor</code>, <code>setOpacity</code> y <code>setRotationAngle</code> definen cómo se ve la marca de agua en la página.</li>
<li><strong>Cargar el PDF de origen</strong> - <code>PdfLoadOptions</code> carga el archivo de entrada y habilita el almacenamiento en caché para documentos grandes, lo que reduce la presión de memoria.</li>
<li><strong>Aplicar y guardar</strong> - <code>watermark.add(textWatermark, loadOptions);</code> aplica la marca de agua a cada página, y <code>watermark.save(outputFile, saveOptions);</code> escribe el resultado.</li>
</ol>
<h3 id="cargando-el-pdf-de-origen-con-caché">Cargando el PDF de origen con caché</h3>
<p>Cuando trabajas con PDFs de varios megabytes, habilitar una caché evita que el SDK cargue todo el documento en memoria. La línea <code>loadOptions.setCacheSize(100 * 1024 * 1024);</code> reserva 100 MB para almacenamiento temporal, permitiendo que el procesador transmita páginas según sea necesario. Este enfoque es especialmente útil en entornos de servidor donde pueden ejecutarse muchos trabajos de marca de agua concurrentes.</p>
<p>Para obtener información detallada de la API, consulte la <a href="https://reference.conholdate.com/java/">referencia de la API de Java</a>.</p>
<h2 id="preparando-el-entorno-para-la-marca-de-agua-en-pdf">Preparando el entorno para la marca de agua en PDF</h2>
<p>El flujo de trabajo para agregar una marca de agua a PDF en Java comienza añadiendo la dependencia de Maven. Después de eso, necesita un JDK compatible y una pequeña cantidad de configuración.</p>
<h3 id="requisitos-y-versión-de-java">Requisitos y versión de Java</h3>
<ul>
<li>Se requiere Java 8 o superior; el SDK utiliza características modernas del lenguaje y streams.</li>
<li>Maven 3.5+ simplifica la gestión de dependencias.</li>
<li>Asegúrese de que el <code>pom.xml</code> de su proyecto incluya el repositorio Conholdate para que Maven pueda resolver el artefacto.</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;repositories&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;repository&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;id&gt;</span>conholdate-repo<span style="color:#f92672">&lt;/id&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;name&gt;</span>Conholdate Maven Repository<span style="color:#f92672">&lt;/name&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;url&gt;</span>https://repository.conholdate.com/repo/<span style="color:#f92672">&lt;/url&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;/repository&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/repositories&gt;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;groupId&gt;</span>com.conholdate<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;artifactId&gt;</span>conholdate-total<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;version&gt;</span>24.9<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;type&gt;</span>pom<span style="color:#f92672">&lt;/type&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>También puedes obtener los archivos JAR directamente desde la <a href="https://releases.conholdate.com/total/java/">página de descarga</a>. Después de agregar la dependencia, ejecuta <code>mvn clean install</code> para verificar que el SDK esté en tu classpath.</p>
<h3 id="uso-de-la-api-rest-opcional">Uso de la API REST (Opcional)</h3>
<p>Si prefiere un enfoque independiente del lenguaje, Conholdate.Total también ofrece un endpoint REST que puede agregar marcas de agua sin necesidad de código Java. Un comando <code>curl</code> simple se ve así:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.conholdate.com/v1/pdf/watermark&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;file=@input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;text=CONFIDENTIAL&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;font=Arial&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;fontSize=48&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;color=FF0000&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;opacity=0.3&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;angle=45&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;horizontalAlignment=center&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;verticalAlignment=center&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -o output.pdf
</span></span></code></pre></div><p>La versión REST sigue los mismos pasos lógicos cargar, configurar, aplicar y guardar, de modo que pueda elegir el enfoque que mejor se adapte a su arquitectura.</p>
<h2 id="configuración-de-la-apariencia-y-posición-de-la-marca-de-agua">Configuración de la apariencia y posición de la marca de agua</h2>
<p>El SDK expone varias propiedades que le permiten ajustar finamente la marca de agua. A continuación se presentan los ajustes más frecuentemente modificados.</p>
<h3 id="personalizando-fuente-y-color">Personalizando fuente y color</h3>
<p>Puede reemplazar la fuente Arial predeterminada con cualquier fuente TrueType disponible en el servidor. Cambiar el color es tan simple como pasar una constante diferente de <code>java.awt.Color</code> o crear un valor RGB personalizado.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Font customFont <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Font<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Times New Roman&#34;</span><span style="color:#f92672">,</span> Font<span style="color:#f92672">.</span><span style="color:#a6e22e">ITALIC</span><span style="color:#f92672">,</span> 36<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setColor</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Color<span style="color:#f92672">(</span>0<span style="color:#f92672">,</span> 102<span style="color:#f92672">,</span> 204<span style="color:#f92672">));</span> <span style="color:#75715e">// Deep blue
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setFont</span><span style="color:#f92672">(</span>customFont<span style="color:#f92672">);</span>
</span></span></code></pre></div><h3 id="ajustar-opacidad-y-rotación">Ajustar Opacidad y Rotación</h3>
<p>La opacidad controla cuán transparente aparece la marca de agua. Los valores van desde <code>0.0</code> (completamente invisible) hasta <code>1.0</code> (totalmente opaco). La rotación le permite inclinar el texto para que sea más difícil de eliminar.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setOpacity</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">45</span><span style="color:#f92672">);</span>      <span style="color:#75715e">// 45% opacity
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotationAngle</span><span style="color:#f92672">(</span>30<span style="color:#f92672">);</span> <span style="color:#75715e">// 30 degrees clockwise
</span></span></span></code></pre></div><h3 id="alineando-la-marca-de-agua-en-la-página">Alineando la marca de agua en la página</h3>
<p>Las propiedades de alineación horizontal y vertical aceptan <code>Left</code>, <code>Center</code>, <code>Right</code> y <code>Top</code>, <code>Center</code>, <code>Bottom</code>. El centrado es común para sellos confidenciales, pero puedes colocar la marca de agua en una esquina para fines de marca.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setHorizontalAlignment</span><span style="color:#f92672">(</span>HorizontalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Right</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>textWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setVerticalAlignment</span><span style="color:#f92672">(</span>VerticalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Bottom</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><p>Si deseas <strong>agregar una marca de agua de texto a PDF en Java</strong> con un diseño diferente en cada página, puedes modificar estas propiedades dentro de un bucle que procesa las páginas individualmente. El SDK también admite marcas de agua de imagen, rellenos degradados y texto multilínea si tu caso de uso requiere mayor complejidad visual.</p>
<h2 id="conclusión">Conclusión</h2>
<p>Agregar una marca de agua a PDF en Java es sencillo con <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. El SDK maneja la carga, el procesamiento y el guardado de PDFs de manera eficiente, incluso para archivos grandes gracias al almacenamiento en caché incorporado. Al personalizar la opacidad, la rotación, la fuente, el color y la alineación, puedes crear marcas de agua de aspecto profesional que desalientan la distribución no autorizada. Recuerda obtener una licencia adecuada para uso en producción; puedes solicitar una licencia temporal en la <a href="https://purchase.conholdate.com/temporary-license/">página de licencia temporal</a> o revisar las opciones de precios en la <a href="https://purchase.conholdate.com/pricing/total/family/">página de precios</a>. Con el código y los pasos de configuración cubiertos, estás listo para integrar la marca de agua de PDF en tus aplicaciones Java.</p>
<h2 id="preguntas-frecuentes">Preguntas frecuentes</h2>
<p><strong>¿Cómo puedo agregar una marca de agua a PDF en Java sin escribir código PDF de bajo nivel?</strong><br>
Utilice la clase <code>Watermark</code> de <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Abstracta la estructura del PDF, permitiéndole centrarse en las propiedades de la marca de agua, como el texto, la fuente y la ubicación.</p>
<p><strong>¿Qué opciones están disponibles para dar estilo a la marca de agua de texto?</strong><br>
Puede establecer la fuente (<code>new Font(...)</code>), el tamaño, el estilo (negrita, cursiva), el color (<code>setColor</code>), la opacidad (<code>setOpacity</code>), la rotación (<code>setRotationAngle</code>) y la alineación (<code>setHorizontalAlignment</code>, <code>setVerticalAlignment</code>). Estas opciones se demuestran en el ejemplo de código completo.</p>
<p><strong>¿Puede el SDK procesar PDFs grandes de manera eficiente?</strong><br>
Sí. Al configurar <code>PdfLoadOptions.setCacheSize</code>, habilita la transmisión y el almacenamiento en caché, lo que reduce el consumo de memoria para PDFs de varios megabytes. Esto hace que el flujo de trabajo de agregar marca de agua a PDF en Java sea adecuado para el procesamiento por lotes en servidores.</p>
<p><strong>¿Necesito comprar una licencia para ejecutar este ejemplo?</strong><br>
Se requiere una licencia para implementaciones en producción. Obtenga una licencia temporal en la <a href="https://purchase.conholdate.com/temporary-license/">página de licencia temporal</a> o explore los detalles completos de precios en la <a href="https://purchase.conholdate.com/pricing/total/family/">página de precios</a>.</p>
<h2 id="leer-más">Leer más</h2>
<ul>
<li><a href="https://blog.conholdate.com/es/total/add-text-to-pdf-in-java/">Agregar texto a PDF en Java</a></li>
<li><a href="https://blog.conholdate.com/es/total/add-shapes-to-pdf-in-java/">Agregar formas a PDF en Java</a></li>
<li><a href="https://blog.conholdate.com/es/total/add-barcode-to-pdf-in-java/">Agregar código de barras a PDF en Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
