<?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 watermark on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/id/tag/pdf-watermark/</link>
    <description>Recent content in pdf watermark on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>id</language>
    <lastBuildDate>Mon, 07 Sep 2026 03:41:37 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/id/tag/pdf-watermark/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Menambahkan Watermark ke PDF dalam Java</title>
      <link>https://blog-qa.conholdate.com/id/total/add-watermark-to-pdf-in-java/</link>
      <pubDate>Mon, 07 Sep 2026 03:41:37 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/id/total/add-watermark-to-pdf-in-java/</guid>
      <description>Pelajari cara menambahkan watermark ke file PDF di Java menggunakan Conholdate.Total for Java. Panduan langkah demi langkah ini mencakup kode lengkap, pengaturan, dan tip konfigurasi.</description>
      <content:encoded><![CDATA[<p>Jika Anda perlu menambahkan Watermark ke <a href="https://docs.fileformat.com/pdf">PDF</a> di Java, lapisan visual dapat melindungi dokumen Anda dari penggunaan yang tidak sah. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> menyediakan SDK yang kuat yang menyederhanakan manipulasi PDF di sisi server. Dalam panduan ini Anda akan melihat contoh lengkap yang siap dijalankan, mempelajari cara kerja setiap baris, menyiapkan dependensi Maven, dan menemukan opsi untuk menyempurnakan opasitas, rotasi, dan perataan untuk hasil profesional.</p>
<h2 id="contoh-kode-lengkap-menambahkan-watermark-teks-ke-pdf-dalam-java">Contoh Kode Lengkap: Menambahkan Watermark Teks ke PDF dalam Java</h2>
<p>Contoh berikut menunjukkan cara menambahkan watermark teks ke PDF menggunakan 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>Catatan:</strong> Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (<code>input.pdf</code>, <code>output.pdf</code>, dll.) agar sesuai dengan lokasi file Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terinstal dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke <a href="https://docs.conholdate.com/java/">dokumentasi resmi</a> atau hubungi <a href="https://forum.conholdate.com/c/total/5">tim dukungan</a> untuk bantuan.</p>
</blockquote>
<h2 id="memahami-penambahan-watermark-ke-pdf-dalam-kode-java">Memahami Penambahan Watermark ke PDF dalam Kode Java</h2>
<p>Kode penambahan Watermark ke PDF dalam Java mengikuti urutan yang jelas yang dapat Anda sesuaikan untuk dokumen PDF apa pun.</p>
<ol>
<li><strong>Inisialisasi Pemroses Watermark</strong> - <code>Watermark watermark = new Watermark();</code> membuat mesin yang akan menerapkan watermark.</li>
<li><strong>Buat TextWatermark</strong> - Objek <code>TextWatermark</code> menyimpan teks, font, warna, opasitas, dan rotasi.
<!-- 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>Konfigurasikan Penampilan</strong> - Metode seperti <code>setColor</code>, <code>setOpacity</code>, dan <code>setRotationAngle</code> menentukan bagaimana watermark terlihat pada halaman.</li>
<li><strong>Muat PDF Sumber</strong> - <code>PdfLoadOptions</code> memuat file input dan mengaktifkan caching untuk dokumen besar, yang mengurangi tekanan memori.</li>
<li><strong>Terapkan dan Simpan</strong> - <code>watermark.add(textWatermark, loadOptions);</code> menerapkan watermark ke setiap halaman, dan <code>watermark.save(outputFile, saveOptions);</code> menulis hasilnya.</li>
</ol>
<h3 id="memuat-pdf-sumber-dengan-caching">Memuat PDF Sumber dengan Caching</h3>
<p>Ketika Anda bekerja dengan PDF berukuran multi‑megabyte, mengaktifkan cache mencegah SDK memuat seluruh dokumen ke dalam memori. Baris <code>loadOptions.setCacheSize(100 * 1024 * 1024);</code> memesan 100 MB untuk penyimpanan sementara, memungkinkan proses untuk men‑stream halaman sesuai kebutuhan. Pendekatan ini sangat berguna di lingkungan server di mana banyak pekerjaan watermarking bersamaan dapat dijalankan.</p>
<p>Untuk informasi API yang lebih detail, lihat <a href="https://reference.conholdate.com/java/">referensi API Java</a>.</p>
<h2 id="menyiapkan-lingkungan-untuk-watermark-pdf">Menyiapkan Lingkungan untuk Watermark PDF</h2>
<p>Alur kerja menambahkan Watermark ke PDF di Java dimulai dengan menambahkan dependensi Maven. Setelah itu, Anda memerlukan JDK yang kompatibel dan sedikit konfigurasi.</p>
<h3 id="prasyarat-dan-versi-java">Prasyarat dan Versi Java</h3>
<ul>
<li>Java 8 atau lebih tinggi diperlukan; SDK menggunakan fitur bahasa modern dan stream.</li>
<li>Maven 3.5+ menyederhanakan manajemen dependensi.</li>
<li>Pastikan bahwa <code>pom.xml</code> proyek Anda menyertakan repositori Conholdate sehingga Maven dapat menyelesaikan artefak.</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>Anda juga dapat memperoleh file JAR secara langsung dari <a href="https://releases.conholdate.com/total/java/">halaman unduhan</a>. Setelah menambahkan dependensi, jalankan <code>mvn clean install</code> untuk memverifikasi bahwa SDK berada di classpath Anda.</p>
<h3 id="menggunakan-rest-api-opsional">Menggunakan REST API (Opsional)</h3>
<p>Jika Anda lebih menyukai pendekatan yang tidak bergantung pada bahasa, Conholdate.Total juga menawarkan endpoint REST yang dapat menambahkan watermark tanpa kode Java apa pun. Perintah <code>curl</code> sederhana terlihat seperti ini:</p>
<!-- 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-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><!-- raw HTML omitted -->
<p>Versi REST mengikuti langkah‑langkah logis yang sama: memuat, mengkonfigurasi, menerapkan, dan menyimpan sehingga Anda dapat memilih pendekatan yang paling sesuai dengan arsitektur Anda.</p>
<h2 id="mengonfigurasi-penampilan-dan-posisi-watermark">Mengonfigurasi Penampilan dan Posisi Watermark</h2>
<p>SDK menampilkan beberapa properti yang memungkinkan Anda menyesuaikan watermark secara halus. Di bawah ini adalah pengaturan yang paling sering disesuaikan.</p>
<h3 id="menyesuaikan-font-dan-warna">Menyesuaikan Font dan Warna</h3>
<p>Anda dapat mengganti font Arial default dengan font TrueType apa pun yang tersedia di server. Mengubah warna semudah melewatkan konstanta <code>java.awt.Color</code> yang berbeda atau membuat nilai RGB khusus.</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="menyesuaikan-opasitas-dan-rotasi">Menyesuaikan Opasitas dan Rotasi</h3>
<p>Opacity mengontrol seberapa transparan watermark muncul. Nilai berkisar dari <code>0.0</code> (sepenuhnya tidak terlihat) hingga <code>1.0</code> (sepenuhnya opak). Rotasi memungkinkan Anda memiringkan teks untuk membuatnya lebih sulit dihapus.</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="menyelaraskan-watermark-pada-halaman">Menyelaraskan Watermark pada Halaman</h3>
<p>Properti penyelarasan horizontal dan vertikal menerima <code>Left</code>, <code>Center</code>, <code>Right</code> dan <code>Top</code>, <code>Center</code>, <code>Bottom</code>. Penempatan di tengah umum untuk stempel rahasia, tetapi Anda dapat menempatkan watermark di sudut untuk tujuan branding.</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>Jika Anda ingin <strong>add text Watermark to PDF in Java</strong> dengan tata letak yang berbeda pada setiap halaman, Anda dapat memodifikasi properti ini di dalam loop yang memproses halaman secara individual. SDK juga mendukung watermark gambar, isian gradien, dan teks multi‑line jika kasus penggunaan Anda memerlukan kompleksitas visual yang lebih tinggi.</p>
<h2 id="kesimpulan">Kesimpulan</h2>
<p>Menambahkan watermark ke PDF di Java sangat mudah dengan <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. SDK menangani pemuatan, pemrosesan, dan penyimpanan PDF secara efisien, bahkan untuk file besar berkat caching bawaan. Dengan menyesuaikan opacity, rotasi, font, warna, dan perataan, Anda dapat membuat watermark berpenampilan profesional yang menghalangi distribusi tidak sah. Ingatlah untuk memperoleh lisensi yang tepat untuk penggunaan produksi; Anda dapat meminta lisensi sementara dari <a href="https://purchase.conholdate.com/temporary-license/">halaman lisensi sementara</a> atau meninjau opsi harga pada <a href="https://purchase.conholdate.com/pricing/total/family/">halaman harga</a>. Dengan kode dan langkah konfigurasi yang telah dibahas, Anda siap mengintegrasikan watermark PDF ke dalam aplikasi Java Anda.</p>
<h2 id="pertanyaan-yang-sering-diajukan">Pertanyaan yang Sering Diajukan</h2>
<p><strong>Bagaimana cara menambahkan Watermark ke PDF di Java tanpa menulis kode PDF tingkat‑rendah?</strong><br>
Gunakan kelas <code>Watermark</code> dari <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Kelas ini mengabstraksi struktur PDF, memungkinkan Anda fokus pada properti watermark seperti teks, font, dan penempatan.</p>
<p><strong>Apa opsi yang tersedia untuk menata watermark teks?</strong><br>
Anda dapat mengatur font (<code>new Font(...)</code>), ukuran, gaya (bold, italic), warna (<code>setColor</code>), opasitas (<code>setOpacity</code>), rotasi (<code>setRotationAngle</code>), dan perataan (<code>setHorizontalAlignment</code>, <code>setVerticalAlignment</code>). Opsi-opsi ini ditunjukkan dalam contoh kode lengkap.</p>
<p><strong>Apakah SDK dapat memproses PDF besar secara efisien?</strong><br>
Ya. Dengan mengonfigurasi <code>PdfLoadOptions.setCacheSize</code>, Anda mengaktifkan streaming dan caching, yang mengurangi konsumsi memori untuk PDF berukuran multi‑megabyte. Ini membuat alur kerja menambahkan Watermark ke PDF di Java cocok untuk pemrosesan batch di server.</p>
<p><strong>Apakah saya perlu membeli lisensi untuk menjalankan contoh ini?</strong><br>
Lisensi diperlukan untuk penyebaran produksi. Dapatkan lisensi sementara dari <a href="https://purchase.conholdate.com/temporary-license/">halaman lisensi sementara</a> atau jelajahi detail harga lengkap di <a href="https://purchase.conholdate.com/pricing/total/family/">halaman harga</a>.</p>
<h2 id="baca-selengkapnya">Baca Selengkapnya</h2>
<ul>
<li><a href="https://blog.conholdate.com/id/total/add-text-to-pdf-in-java/">Tambahkan Teks ke PDF di Java</a></li>
<li><a href="https://blog.conholdate.com/id/total/add-shapes-to-pdf-in-java/">Tambahkan Bentuk ke PDF di Java</a></li>
<li><a href="https://blog.conholdate.com/id/total/add-barcode-to-pdf-in-java/">Tambahkan Kode Bar ke PDF di Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
