<?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>java pdf watermark on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/vi/tag/java-pdf-watermark/</link>
    <description>Recent content in java pdf watermark on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <lastBuildDate>Fri, 28 Aug 2026 19:41:04 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/vi/tag/java-pdf-watermark/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Thêm Đánh Dấu Nước Hình Ảnh vào Tài liệu PDF trong Java</title>
      <link>https://blog-qa.groupdocs.cloud/vi/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/vi/watermark/add-image-watermark-to-pdf-documents-in-java/</guid>
      <description>Tìm hiểu cách thêm watermark hình ảnh vào tài liệu PDF trong Java bằng cách sử dụng GroupDocs.Watermark Cloud SDK. Hướng dẫn chi tiết từng bước kèm mã code, cURL và các mẹo cấu hình.</description>
      <content:encoded><![CDATA[<p>Thêm một định danh trực quan vào các tệp <a href="https://docs.fileformat.com/pdf">PDF</a> là cần thiết để bảo vệ tài sản trí tuệ và thương hiệu tài liệu. <a href="https://products.groupdocs.cloud/watermark/java/">GroupDocs.Watermark Cloud SDK for Java</a> cung cấp một API đơn giản để nhúng watermark hình ảnh trực tiếp vào PDF từ ứng dụng Java của bạn. Trong hướng dẫn này, bạn sẽ học cách thêm watermark hình ảnh vào tài liệu PDF bằng Java, xem một ví dụ hoàn chỉnh hoạt động, và khám phá các lệnh cURL REST tương đương cho việc tích hợp đám mây.</p>
<h2 id="thêm-đánh-dấu-hình-ảnh-vào-tài-liệu-pdf-trong-java-trong-5-bước">Thêm Đánh Dấu Hình Ảnh vào Tài Liệu PDF trong Java trong 5 Bước</h2>
<ol>
<li><strong>Khởi tạo client API</strong>: Tạo một thể hiện <code>ApiClient</code> với ID client và secret của bạ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>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>Bước này kết nối mã Java của bạn với dịch vụ GroupDocs.Watermark Cloud. Xem <a href="https://reference.groupdocs.cloud/watermark/">tài liệu API</a> để biết thêm chi tiết.</p>
<ol start="2">
<li><strong>Chỉ định tệp PDF nguồn</strong>: Tạo một đối tượng <code>FileInfo</code> trỏ tới tệp PDF mà bạn muốn thêm watermark.</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>Tệp phải được tải lên bộ nhớ GroupDocs của bạn trước khi gửi yêu cầu.</p>
<ol start="3">
<li><strong>Cấu hình watermark hình ảnh</strong>: Xác định đường dẫn hình ảnh, độ trong suốt, hệ số tỷ lệ, góc xoay và căn chỉnh.</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>Điều chỉnh các giá trị này để đạt được giao diện mong muốn; độ trong suốt kiểm soát tính trong suốt, trong khi scaleFactor xác định kích thước tương đối so với trang.</p>
<ol start="4">
<li>
<p><strong>Đặt tùy chọn watermark và đường dẫn đầu ra</strong>: Kết hợp thông tin tệp và watermark vào một đối tượng <code>WatermarkOptions</code>.</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-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><code>outputPath</code> cho biết dịch vụ sẽ lưu PDF kết quả ở đâu.</p>
</li>
<li>
<p><strong>Thực hiện yêu cầu</strong>: Xây dựng một <code>AddWatermarkRequest</code> và gọi API. Xử lý phản hồi thành công hoặc lỗi.</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-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]-->  
<p>Sau khi thực thi, tệp PDF đã được chèn watermark sẽ có sẵn tại vị trí bạn đã chỉ định.</p>
<h2 id="ví-dụ-mã-hoàn-chỉnh-thêm-hình-mờ-ảnh-vào-tài-liệu-pdf-trong-java">Ví dụ mã hoàn chỉnh: Thêm hình mờ ảnh vào tài liệu PDF trong Java</h2>
<p>Ví dụ sau đây trình bày việc triển khai đầy đủ từ khởi tạo client đến lưu PDF có watermark.</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>Lưu ý:</strong> Ví dụ mã này trình bày chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (<code>input.pdf</code>, <code>watermark.png</code>, <code>output.pdf</code>) để phù hợp với vị trí tệp thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo <a href="https://docs.groupdocs.cloud/watermark/">tài liệu chính thức</a> hoặc liên hệ với <a href="https://forum.groupdocs.cloud/c/watermark/29">đội hỗ trợ</a> để được trợ giúp.</p>
</blockquote>
<h2 id="áp-dụng-đánh-dấu-hình-ảnh-cho-tài-liệu-pdf-qua-curl-và-rest-api">Áp dụng Đánh dấu Hình ảnh cho Tài liệu PDF qua cURL và REST API</h2>
<p>Dưới đây là các lệnh REST bạn có thể sử dụng với cURL để đạt được kết quả tương tự mà không cần viết mã Java.</p>
<ol>
<li><strong>Lấy token truy cập</strong></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/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>Phản hồi chứa một <code>access_token</code> được sử dụng trong các cuộc gọi tiếp theo.</p>
<ol start="2">
<li><strong>Tải lên PDF nguồn</strong></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/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]-->
<ol start="3">
<li><strong>Tải lên hình watermark</strong></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/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]-->
<ol start="4">
<li><strong>Thêm watermark hình ảnh</strong></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>Yêu cầu này phản ánh logic mã Java, áp dụng cùng các thiết lập độ trong suốt, tỷ lệ và căn chỉnh.</p>
<ol start="5">
<li><strong>Tải xuống PDF có dấu watermark</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>Để biết thêm chi tiết về các phần thân yêu cầu và các tham số được hỗ trợ, xem <a href="https://reference.groupdocs.cloud/watermark/">tài liệu API chính thức</a>.</p>
<h2 id="cài-đặt-và-cấu-hình-groupdocswatermark-cloud-sdk-for-java">Cài đặt và cấu hình GroupDocs.Watermark Cloud SDK for Java</h2>
<p>Thêm phụ thuộc Maven vào <code>pom.xml</code> của bạn (hoặc đoạn mã Gradle tương đương). Thư viện được lưu trữ trên 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>Bạn cũng cần một tài khoản GroupDocs Cloud hợp lệ. Lấy <strong>Client ID</strong> và <strong>Client Secret</strong> của bạn từ <a href="https://products.groupdocs.cloud/watermark/java/">cổng GroupDocs</a>. Không cần cài đặt runtime bổ sung vì SDK giao tiếp với dịch vụ đám mây.</p>
<h2 id="tinh-chỉnh-các-tùy-chọn-dấu-ảnh-mờ-cho-tài-liệu-pdf">Tinh chỉnh các tùy chọn dấu ảnh mờ cho tài liệu PDF</h2>
<p>SDK cung cấp một số thuộc tính cho phép bạn kiểm soát giao diện trực quan của watermark.</p>
<h3 id="điều-chỉnh-độ-trong-suốt">Điều chỉnh độ trong suốt</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>Các giá trị độ trong suốt nằm trong khoảng từ 0.0 (hoàn toàn trong suốt) đến 1.0 (hoàn toàn mờ).</p>
<h3 id="thay-đổi-hệ-số-tỷ-lệ">Thay đổi hệ số tỷ lệ</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>Hệ số tỷ lệ xác định kích thước watermark so với kích thước trang.</p>
<h3 id="đặt-căn-chỉnh-và-lề">Đặt căn chỉnh và lề</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>Các cài đặt này đặt watermark ở góc dưới‑phải với lề 20 điểm.</p>
<p>Để xem danh sách đầy đủ các thuộc tính có thể cấu hình, hãy tham khảo <a href="https://reference.groupdocs.cloud/watermark/">tài liệu API</a>.</p>
<h2 id="kết-luận">Kết luận</h2>
<p>Thêm một watermark hình ảnh vào tài liệu PDF trong Java là một nhiệm vụ đơn giản khi bạn sử dụng <a href="https://products.groupdocs.cloud/watermark/java/">GroupDocs.Watermark Cloud SDK for Java</a>. SDK xử lý tất cả các thao tác PDF cấp thấp, cho phép bạn tập trung vào các khía cạnh hình ảnh như độ trong suốt, tỷ lệ và vị trí. Cho dù bạn ưu tiên triển khai Java gốc hay quy trình làm việc dựa trên cloud bằng cURL, kết quả chất lượng cao vẫn có thể đạt được mà không làm giảm hiệu năng. Hãy nhớ lấy giấy phép phù hợp cho việc sử dụng trong môi trường sản xuất; chi tiết giá cả có sẵn trên trang sản phẩm và một <a href="https://purchase.groupdocs.cloud/temporary-license/">trang giấy phép tạm thời</a> có thể được sử dụng để đánh giá.</p>
<h2 id="câu-hỏi-thường-gặp">Câu hỏi thường gặp</h2>
<ul>
<li>
<p><strong>Làm thế nào để thêm watermark hình ảnh vào PDF trong Java mà không làm mất chất lượng?</strong><br>
Sử dụng thuộc tính <code>scaleFactor</code> để điều chỉnh kích thước watermark so với trang và giữ DPI gốc của PDF nguồn. SDK giữ nguyên độ phân giải của PDF, vì vậy watermark sẽ hiển thị sắc nét ở bất kỳ mức phóng đại nào.</p>
</li>
<li>
<p><strong>Tôi có thể thêm nhiều watermark vào cùng một PDF không?</strong><br>
Có. Tạo các đối tượng <code>ImageWatermark</code> riêng biệt với các cấu hình khác nhau và thêm chúng tuần tự bằng cách gọi <code>addWatermark</code> nhiều lần hoặc bằng cách thêm chúng vào một danh sách trong yêu cầu.</p>
</li>
<li>
<p><strong>Các định dạng hình ảnh được hỗ trợ cho watermark là gì?</strong><br>
API chấp nhận các loại hình ảnh phổ biến như <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> và TIFF. PNG được khuyến nghị vì chất lượng không mất dữ liệu và hỗ trợ trong suốt.</p>
</li>
<li>
<p><strong>Có cách nào để xem trước watermark trước khi áp dụng không?</strong><br>
Bạn có thể sử dụng GroupDocs.Watermark Cloud SDK for Java để tạo một PDF tạm thời có watermark và tải xuống để xem xét. Điều này sử dụng cùng một lời gọi <code>addWatermark</code> với đường dẫn đầu ra chỉ tới vị trí tạm thời.</p>
</li>
</ul>
<h2 id="đọc-thêm">Đọc thêm</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/vi/watermark/add-watermark-to-images-using-java/">Thêm watermark vào hình ảnh bằng Java</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/watermark/add-watermark-to-word-in-java-watermark-creator/">Thêm watermark vào Word bằng Java - Watermark Creator</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/watermark/insert-watermark-to-pdf-in-csharp/">Thêm watermark hình ảnh vào PDF | Cách thêm watermark vào tài liệu PDF bằng .NET</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
