<?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>image watermark on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/es/tag/image-watermark/</link>
    <description>Recent content in image watermark on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>es</language>
    <lastBuildDate>Fri, 28 Aug 2026 19:41:04 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/es/tag/image-watermark/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Agregar marca de agua de imagen a documentos PDF en Java</title>
      <link>https://blog-qa.groupdocs.cloud/es/watermark/add-image-watermark-to-pdf-documents-in-java/</link>
      <pubDate>Fri, 28 Aug 2026 19:41:04 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/es/watermark/add-image-watermark-to-pdf-documents-in-java/</guid>
      <description>Aprenda cómo agregar una marca de agua de imagen a documentos PDF en Java usando GroupDocs.Watermark Cloud SDK. Guía paso a paso con código, cURL y consejos de configuración.</description>
      <content:encoded><![CDATA[<p>Agregar un identificador visual a los archivos <a href="https://docs.fileformat.com/pdf">PDF</a> es esencial para proteger la propiedad intelectual y la marca de los documentos. <a href="https://products.groupdocs.cloud/watermark/java/">GroupDocs.Watermark Cloud SDK for Java</a> ofrece una API sencilla para incrustar marcas de agua de imagen directamente en los PDFs desde su aplicación Java. En este tutorial aprenderá cómo agregar una marca de agua de imagen a documentos PDF en Java, verá un ejemplo completo en funcionamiento y explorará las llamadas REST equivalentes con cURL para la integración en la nube.</p>
<h2 id="añadir-marca-de-agua-de-imagen-a-documentos-pdf-en-java-en-5-pasos">Añadir marca de agua de imagen a documentos PDF en Java en 5 pasos</h2>
<ol>
<li><strong>Inicializar el cliente API</strong>: Crear una instancia de <code>ApiClient</code> con su ID de cliente y secreto.</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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>ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>WatermarkApi watermarkApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> WatermarkApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>Este paso conecta su código Java al servicio GroupDocs.Watermark Cloud. Consulte la <a href="https://reference.groupdocs.cloud/watermark/">referencia de API</a> para obtener más detalles.</p>
<ol start="2">
<li><strong>Especifique el archivo PDF de origen</strong>: Construya un objeto <code>FileInfo</code> que apunte al PDF que desea marcar con una marca de agua.</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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>FileInfo fileInfo <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>fileInfo<span style="color:#f92672">.</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>El archivo debe cargarse en su almacenamiento GroupDocs antes de la solicitud.</p>
<ol start="3">
<li><strong>Configure la marca de agua de imagen</strong>: Defina la ruta de la imagen, la opacidad, el factor de escala, la rotación y la alineación.</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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>ImageWatermark imageWatermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ImageWatermark<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setImagePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;watermark.png&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>imageWatermark<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">5</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setScaleFactor</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>imageWatermark<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>imageWatermark<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>imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setMargin</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Margin<span style="color:#f92672">(</span>10<span style="color:#f92672">,</span> 10<span style="color:#f92672">,</span> 10<span style="color:#f92672">,</span> 10<span style="color:#f92672">));</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>Ajuste estos valores para lograr la apariencia deseada; la opacidad controla la transparencia, mientras que scaleFactor determina el tamaño relativo a la página.</p>
<ol start="4">
<li><strong>Establecer opciones de marca de agua y ruta de salida</strong>: Combine la información del archivo y la marca de agua en un objeto <code>WatermarkOptions</code>.</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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>WatermarkOptions options <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> WatermarkOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>options<span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span>fileInfo<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>options<span style="color:#f92672">.</span><span style="color:#a6e22e">setImageWatermark</span><span style="color:#f92672">(</span>imageWatermark<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>options<span style="color:#f92672">.</span><span style="color:#a6e22e">setOutputPath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;output.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>El <code>outputPath</code> indica al servicio dónde almacenar el PDF resultante.</p>
<ol start="5">
<li><strong>Ejecutar la solicitud</strong>: Construya un <code>AddWatermarkRequest</code> y llame a la API. Maneje respuestas exitosas o de error.
<!--[CODE_SNIPPET_START]-->
<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>AddWatermarkRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> AddWatermarkRequest<span style="color:#f92672">(</span>options<span style="color:#f92672">);</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>    AddWatermarkResponse response <span style="color:#f92672">=</span> watermarkApi<span style="color:#f92672">.</span><span style="color:#a6e22e">addWatermark</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>    System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Watermark added successfully. Output file: &#34;</span> <span style="color:#f92672">+</span> response<span style="color:#f92672">.</span><span style="color:#a6e22e">getPath</span><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;Error adding 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><span style="color:#f92672">}</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
Después de la ejecución, el PDF con marca de agua está disponible en la ubicación que especificó.</li>
</ol>
<h2 id="ejemplo-completo-de-código-agregar-marca-de-agua-de-imagen-a-documentos-pdf-en-java">Ejemplo completo de código: agregar marca de agua de imagen a documentos PDF en Java</h2>
<p>El siguiente ejemplo demuestra la implementación completa, desde la inicialización del cliente hasta guardar el PDF con marca de agua.</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.cloud.watermark.api.WatermarkApi<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.client.ApiClient<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.AddWatermarkRequest<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.AddWatermarkResponse<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.FileInfo<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.ImageWatermark<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.Margin<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.WatermarkOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.cloud.watermark.model.enums.VerticalAlignment<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">AddImageWatermarkExample</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>        <span style="color:#75715e">// Initialize API client (replace with your actual credentials)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        WatermarkApi watermarkApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> WatermarkApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Input PDF file information
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        FileInfo fileInfo <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        fileInfo<span style="color:#f92672">.</span><span style="color:#a6e22e">setFilePath</span><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>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Image watermark configuration
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ImageWatermark imageWatermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ImageWatermark<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setImagePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;watermark.png&#34;</span><span style="color:#f92672">);</span>          <span style="color:#75715e">// Path to watermark image
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        imageWatermark<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">5</span><span style="color:#f92672">);</span>                        <span style="color:#75715e">// 50% opacity
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setScaleFactor</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">3</span><span style="color:#f92672">);</span>                    <span style="color:#75715e">// 30% of page size
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotationAngle</span><span style="color:#f92672">(</span>0<span style="color:#f92672">);</span>                    <span style="color:#75715e">// No rotation
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        imageWatermark<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>        imageWatermark<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>        imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setMargin</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Margin<span style="color:#f92672">(</span>10<span style="color:#f92672">,</span> 10<span style="color:#f92672">,</span> 10<span style="color:#f92672">,</span> 10<span style="color:#f92672">));</span>  <span style="color:#75715e">// 10 points margin on all sides
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Watermark options
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        WatermarkOptions options <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> WatermarkOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        options<span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span>fileInfo<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        options<span style="color:#f92672">.</span><span style="color:#a6e22e">setImageWatermark</span><span style="color:#f92672">(</span>imageWatermark<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        options<span style="color:#f92672">.</span><span style="color:#a6e22e">setOutputPath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;output.pdf&#34;</span><span style="color:#f92672">);</span> <span style="color:#75715e">// Resulting PDF with watermark
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Create request and call API
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        AddWatermarkRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> AddWatermarkRequest<span style="color:#f92672">(</span>options<span style="color:#f92672">);</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>            AddWatermarkResponse response <span style="color:#f92672">=</span> watermarkApi<span style="color:#f92672">.</span><span style="color:#a6e22e">addWatermark</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Watermark added successfully. Output file: &#34;</span> <span style="color:#f92672">+</span> response<span style="color:#f92672">.</span><span style="color:#a6e22e">getPath</span><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;Error adding 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 muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (<code>input.pdf</code>, <code>watermark.png</code>, <code>output.pdf</code>) para que coincidan con la ubicación real de sus archivos, 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.groupdocs.cloud/watermark/">documentación oficial</a> o póngase en contacto con el <a href="https://forum.groupdocs.cloud/c/watermark/29">equipo de soporte</a> para obtener ayuda.</p>
</blockquote>
<h2 id="aplicar-marca-de-agua-de-imagen-a-documentos-pdf-mediante-curl-y-api-rest">Aplicar marca de agua de imagen a documentos PDF mediante cURL y API REST</h2>
<p>A continuación se presentan las llamadas REST que puede usar con cURL para lograr el mismo resultado sin escribir código Java.</p>
<ol>
<li>
<p><strong>Obtener un token de acceso</strong></p>
<!--[CODE_SNIPPET_START]-->
<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.groupdocs.cloud/v2.0/auth/token&#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;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>La respuesta contiene un <code>access_token</code> que se utiliza en llamadas posteriores.</p>
</li>
<li>
<p><strong>Subir el PDF de origen</strong></p>
<!--[CODE_SNIPPET_START]-->
<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.groupdocs.cloud/v2.0/storage/upload?path=input.pdf&#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=@/path/to/input.pdf&#34;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>Subir la imagen de marca de agua</strong></p>
<!--[CODE_SNIPPET_START]-->
<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.groupdocs.cloud/v2.0/storage/upload?path=watermark.png&#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=@/path/to/watermark.png&#34;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>Agregar la marca de agua de imagen</strong></p>
</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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.groupdocs.cloud/v2.0/watermark/add&#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>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: { &#34;filePath&#34;: &#34;input.pdf&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;imageWatermark&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;imagePath&#34;: &#34;watermark.png&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;opacity&#34;: 0.5,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;scaleFactor&#34;: 0.3,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;horizontalAlignment&#34;: &#34;Center&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;verticalAlignment&#34;: &#34;Center&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;margin&#34;: { &#34;top&#34;: 10, &#34;right&#34;: 10, &#34;bottom&#34;: 10, &#34;left&#34;: 10 }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;output.pdf&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->  
<p>Esta solicitud refleja la lógica del código Java, aplicando los mismos ajustes de opacidad, escala y alineación.</p>
<ol start="5">
<li><strong>Descargar el PDF con marca de agua</strong>
<!--[CODE_SNIPPET_START]-->
<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 GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf&#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>     -o output.pdf
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
</ol>
<p>Para obtener más detalles sobre los cuerpos de solicitud y los parámetros admitidos, consulte la <a href="https://reference.groupdocs.cloud/watermark/">documentación oficial de la API</a>.</p>
<h2 id="instalación-y-configuración-groupdocswatermark-cloud-sdk-for-java">Instalación y configuración GroupDocs.Watermark Cloud SDK for Java</h2>
<p>Agregue la dependencia de Maven a su <code>pom.xml</code> (o el fragmento equivalente de Gradle). La biblioteca está alojada en Maven Central.</p>
<!--[CODE_SNIPPET_START]-->
<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;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.groupdocs<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>groupdocs-watermark-cloud<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>23.8<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>También necesita una cuenta válida de GroupDocs Cloud. Obtenga su <strong>Client ID</strong> y <strong>Client Secret</strong> del <a href="https://products.groupdocs.cloud/watermark/java/">portal de GroupDocs</a>. No se requiere ninguna instalación adicional en tiempo de ejecución porque el SDK se comunica con el servicio en la nube.</p>
<h2 id="ajuste-fino-de-las-opciones-de-marca-de-agua-de-imagen-para-documentos-pdf">Ajuste fino de las opciones de marca de agua de imagen para documentos PDF</h2>
<p>El SDK expone varias propiedades que le permiten controlar la apariencia visual de la marca de agua.</p>
<h3 id="ajustar-opacidad">Ajustar Opacidad</h3>
<!--[CODE_SNIPPET_START]-->
<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>imageWatermark<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">75</span><span style="color:#f92672">);</span> <span style="color:#75715e">// 75% opacity for a more visible watermark
</span></span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>Los valores de opacidad van de 0.0 (totalmente transparente) a 1.0 (totalmente opaco).</p>
<h3 id="cambiar-factor-de-escala">Cambiar factor de escala</h3>
<!--[CODE_SNIPPET_START]-->
<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>imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setScaleFactor</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">5</span><span style="color:#f92672">);</span> <span style="color:#75715e">// Watermark occupies 50% of the page width
</span></span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>El factor de escala determina el tamaño de la marca de agua en relación con las dimensiones de la página.</p>
<h3 id="establecer-alineación-y-márgenes">Establecer alineación y márgenes</h3>
<!--[CODE_SNIPPET_START]-->
<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>imageWatermark<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>imageWatermark<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><span style="display:flex;"><span>imageWatermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setMargin</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Margin<span style="color:#f92672">(</span>20<span style="color:#f92672">,</span> 20<span style="color:#f92672">,</span> 20<span style="color:#f92672">,</span> 20<span style="color:#f92672">));</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>Estas configuraciones colocan la marca de agua en la esquina inferior derecha con un margen de 20 puntos.</p>
<p>Para obtener una lista completa de las propiedades configurables, consulte la <a href="https://reference.groupdocs.cloud/watermark/">referencia de API</a>.</p>
<h2 id="conclusión">Conclusión</h2>
<p>Agregar una marca de agua de imagen a documentos PDF en Java es una tarea sencilla cuando utilizas el <a href="https://products.groupdocs.cloud/watermark/java/">GroupDocs.Watermark Cloud SDK for Java</a>. El SDK maneja toda la manipulación de PDF de bajo nivel, permitiéndote centrarte en los aspectos visuales como la opacidad, el escalado y la posición. Ya sea que prefieras una implementación nativa de Java o un flujo de trabajo basado en cURL en la nube, los mismos resultados de alta calidad son alcanzables sin sacrificar el rendimiento. Recuerda obtener una licencia adecuada para uso en producción; los detalles de precios están disponibles en la página del producto y una <a href="https://purchase.groupdocs.cloud/temporary-license/">página de licencia temporal</a> puede usarse para la evaluación.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>¿Cómo agregar una marca de agua de imagen a un PDF en Java sin perder calidad?</strong><br>
Utilice la propiedad <code>scaleFactor</code> para dimensionar la marca de agua en relación con la página y mantener el DPI original del PDF de origen. El SDK conserva la resolución del PDF, por lo que la marca de agua se muestra nítida en cualquier nivel de zoom.</p>
</li>
<li>
<p><strong>¿Puedo agregar varias marcas de agua al mismo PDF?</strong><br>
Sí. Crea objetos <code>ImageWatermark</code> separados con diferentes configuraciones y añádelos secuencialmente llamando a <code>addWatermark</code> varias veces o agregándolos a una lista en la solicitud.</p>
</li>
<li>
<p><strong>¿Cuáles son los formatos de imagen compatibles para la marca de agua?</strong><br>
La API acepta tipos de imagen comunes como <a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpg/">JPG</a>, <a href="https://docs.fileformat.com/image/bmp/">BMP</a>, <a href="https://docs.fileformat.com/image/gif/">GIF</a> y TIFF. Se recomienda PNG para calidad sin pérdidas y soporte de transparencia.</p>
</li>
<li>
<p><strong>¿Hay alguna forma de previsualizar la marca de agua antes de aplicarla?</strong><br>
Puede usar el GroupDocs.Watermark Cloud SDK for Java para generar un PDF temporal con la marca de agua y descargarlo para revisarlo. Esto utiliza la misma llamada <code>addWatermark</code> con una ruta de salida que apunta a una ubicación temporal.</p>
</li>
</ul>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/es/watermark/add-watermark-to-images-using-java/">Agregar marca de agua a imágenes usando Java</a></li>
<li><a href="https://blog.groupdocs.cloud/es/watermark/add-watermark-to-word-in-java-watermark-creator/">Agregar marca de agua a Word en Java - Creador de marcas de agua</a></li>
<li><a href="https://blog.groupdocs.cloud/es/watermark/insert-watermark-to-pdf-in-csharp/">Agregar marca de agua de imagen a PDF | Cómo agregar marca de agua a documentos PDF usando .NET</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
