<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf manipulation on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/th/tag/pdf-manipulation/</link>
    <description>Recent content in pdf manipulation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>th</language>
    <lastBuildDate>Mon, 07 Sep 2026 03:41:37 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/th/tag/pdf-manipulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>เพิ่มลายน้ำให้ PDF ใน Java</title>
      <link>https://blog-qa.conholdate.com/th/total/add-watermark-to-pdf-in-java/</link>
      <pubDate>Mon, 07 Sep 2026 03:41:37 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/th/total/add-watermark-to-pdf-in-java/</guid>
      <description>เรียนรู้วิธีเพิ่มลายน้ำลงในไฟล์ PDF ด้วย Java โดยใช้ Conholdate.Total for Java คู่มือขั้นตอนนี้รวมโค้ดเต็ม การตั้งค่า และเคล็ดลับการกำหนดค่า</description>
      <content:encoded><![CDATA[<p>หากคุณต้องการเพิ่มลายน้ำให้กับ <a href="https://docs.fileformat.com/pdf">PDF</a> ใน Java การซ้อนทับภาพสามารถปกป้องเอกสารของคุณจากการใช้งานโดยไม่ได้รับอนุญาตได้ <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> ให้ SDK ที่ทรงพลังซึ่งทำให้การจัดการ PDF บนเซิร์ฟเวอร์เป็นเรื่องง่าย ในคู่มือนี้คุณจะได้เห็นตัวอย่างที่สมบูรณ์พร้อมรันทันที เรียนรู้ว่าทุกบรรทัดทำงานอย่างไร ตั้งค่าการพึ่งพา Maven และค้นหาตัวเลือกเพื่อปรับความทึบ, การหมุน, และการจัดตำแหน่งอย่างละเอียดเพื่อผลลัพธ์ระดับมืออาชีพ.</p>
<h2 id="ตวอยางโคดเตม-การเพมลายนำขอความลงใน-pdf-ดวย-java">ตัวอย่างโค้ดเต็ม: การเพิ่มลายน้ำข้อความลงใน PDF ด้วย Java</h2>
<p>ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มลายน้ำข้อความลงใน PDF โดยใช้ 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>หมายเหตุ:</strong> ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (<code>input.pdf</code>, <code>output.pdf</code>, เป็นต้น) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าการพึ่งพาทั้งหมดที่จำเป็นได้ถูกติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนาของคุณ หากคุณพบปัญหาใด ๆ โปรดดูที่ <a href="https://docs.conholdate.com/java/">เอกสารอย่างเป็นทางการ</a> หรือ ติดต่อ <a href="https://forum.conholdate.com/c/total/5">ทีมสนับสนุน</a> เพื่อขอความช่วยเหลือ.</p>
</blockquote>
<h2 id="ทำความเขาใจการเพมลายนำใน-pdf-ดวยโคด-java">ทำความเข้าใจการเพิ่มลายน้ำใน PDF ด้วยโค้ด Java</h2>
<p>โค้ดการเพิ่มลายน้ำลงใน PDF ด้วย Java มีลำดับขั้นตอนที่ชัดเจนซึ่งคุณสามารถปรับใช้กับเอกสาร PDF ใดก็ได้.</p>
<ol>
<li><strong>เริ่มต้นตัวประมวลผลลายน้ำ</strong> - <code>Watermark watermark = new Watermark();</code> สร้างเอนจินที่ใช้สำหรับใส่ลายน้ำ.</li>
<li><strong>สร้าง TextWatermark</strong> - วัตถุ <code>TextWatermark</code> เก็บข้อความ, ฟอนต์, สี, ความทึบแสง, และการหมุน.
<!-- 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>กำหนดลักษณะการแสดงผล</strong> - วิธีการเช่น <code>setColor</code>, <code>setOpacity</code>, และ <code>setRotationAngle</code> กำหนดว่าลายน้ำจะปรากฏอย่างไรบนหน้า.</li>
<li><strong>โหลด PDF ต้นฉบับ</strong> - <code>PdfLoadOptions</code> โหลดไฟล์อินพุตและเปิดใช้งานการแคชสำหรับเอกสารขนาดใหญ่ ซึ่งช่วยลดความกดดันของหน่วยความจำ.</li>
<li><strong>ประยุกต์และบันทึก</strong> - <code>watermark.add(textWatermark, loadOptions);</code> ใส่ลายน้ำลงในทุกหน้า, และ <code>watermark.save(outputFile, saveOptions);</code> เขียนผลลัพธ์.</li>
</ol>
<h3 id="การโหลด-pdf-ตนฉบบดวยการแคช">การโหลด PDF ต้นฉบับด้วยการแคช</h3>
<p>เมื่อคุณทำงานกับไฟล์ PDF ขนาดหลายเมกะไบต์ การเปิดใช้งานแคชจะป้องกันไม่ให้ SDK โหลดเอกสารทั้งหมดเข้าสู่หน่วยความจำ บรรทัด <code>loadOptions.setCacheSize(100 * 1024 * 1024);</code> จะสำรองพื้นที่ 100 MB สำหรับการจัดเก็บชั่วคราว ทำให้ตัวประมวลผลสามารถสตรีมหน้าได้ตามต้องการ วิธีนี้เป็นประโยชน์อย่างยิ่งในสภาพแวดล้อมเซิร์ฟเวอร์ที่อาจมีงานใส่น้ำลายน้ำพร้อมกันหลายงาน</p>
<p>สำหรับข้อมูล API รายละเอียดเพิ่มเติม ดูที่ <a href="https://reference.conholdate.com/java/">อ้างอิง API ของ Java</a>.</p>
<h2 id="เตรยมสภาพแวดลอมสำหรบการใสลายนำ-pdf">เตรียมสภาพแวดล้อมสำหรับการใส่ลายน้ำ PDF</h2>
<p>กระบวนการเพิ่มลายน้ำให้กับ PDF ใน Java เริ่มต้นด้วยการเพิ่มการพึ่งพา Maven หลังจากนั้นคุณจะต้องมี JDK ที่เข้ากันได้และการกำหนดค่าจำนวนเล็กน้อย</p>
<h3 id="ขอกำหนดเบองตนและเวอรชน-java">ข้อกำหนดเบื้องต้นและเวอร์ชัน Java</h3>
<ul>
<li>จำเป็นต้องใช้ Java 8 หรือสูงกว่า; SDK ใช้คุณลักษณะของภาษาสมัยใหม่และสตรีมส์.</li>
<li>Maven 3.5+ ทำให้การจัดการ dependencies ง่ายขึ้น.</li>
<li>ตรวจสอบให้แน่ใจว่า <code>pom.xml</code> ของโครงการของคุณรวม repository ของ Conholdate เพื่อให้ Maven สามารถแก้ไข artifact ได้.</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>คุณยังสามารถรับไฟล์ JAR ได้โดยตรงจาก <a href="https://releases.conholdate.com/total/java/">หน้าดาวน์โหลด</a>. หลังจากเพิ่ม dependency แล้ว ให้รัน <code>mvn clean install</code> เพื่อยืนยันว่า SDK อยู่ใน classpath ของคุณ.</p>
<h3 id="การใช-rest-api-ไมบงคบ">การใช้ REST API (ไม่บังคับ)</h3>
<p>หากคุณต้องการวิธีที่ไม่ขึ้นกับภาษา Conholdate.Total ยังมี endpoint REST ที่สามารถเพิ่มลายน้ำโดยไม่ต้องใช้โค้ด Java อีกด้วย คำสั่ง <code>curl</code> อย่างง่ายมีลักษณะดังนี้:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.conholdate.com/v1/pdf/watermark&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;file=@input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;text=CONFIDENTIAL&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;font=Arial&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;fontSize=48&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;color=FF0000&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;opacity=0.3&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;angle=45&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;horizontalAlignment=center&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -F <span style="color:#e6db74">&#34;verticalAlignment=center&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>  -o output.pdf
</span></span></code></pre></div><p>เวอร์ชัน REST ทำตามขั้นตอนเชิงตรรกะเดียวกันคือ โหลด, กำหนดค่า, ใช้งาน, และบันทึก เพื่อให้คุณสามารถเลือกวิธีที่เหมาะสมที่สุดกับสถาปัตยกรรมของคุณได้</p>
<h2 id="การกำหนดลกษณะและตำแหนงของลายนำ">การกำหนดลักษณะและตำแหน่งของลายน้ำ</h2>
<p>SDK เปิดเผยคุณสมบัติต่าง ๆ ที่ให้คุณปรับแต่งลายน้ำอย่างละเอียด. ด้านล่างคือการตั้งค่าที่ปรับบ่อยที่สุด.</p>
<h3 id="การปรบแตงแบบอกษรและส">การปรับแต่งแบบอักษรและสี</h3>
<p>คุณสามารถแทนที่ฟอนต์ Arial เริ่มต้นด้วยฟอนต์ TrueType ใดก็ได้ที่มีบนเซิร์ฟเวอร์ การเปลี่ยนสีง่ายเพียงแค่ส่งค่าคงที่ <code>java.awt.Color</code> ที่ต่างกันหรือสร้างค่ RGB ที่กำหนดเอง</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="การปรบความทบและการหมน">การปรับความทึบและการหมุน</h3>
<p>ความทึบแสงควบคุมว่าลายน้ำปรากฏโปร่งใสแค่ไหน.<br>
ค่ามีช่วงตั้งแต่ <code>0.0</code> (ซ่อนอย่างสมบูรณ์) ถึง <code>1.0</code> (ทึบเต็มที่).<br>
การหมุนทำให้คุณเอียงข้อความเพื่อทำให้ยากต่อการลบออก.</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="การจดตำแหนงลายนำบนหนา">การจัดตำแหน่งลายน้ำบนหน้า</h3>
<p>Horizontal and vertical alignment properties accept <code>Left</code>, <code>Center</code>, <code>Right</code> and <code>Top</code>, <code>Center</code>, <code>Bottom</code>. การจัดกึ่งกลางเป็นที่นิยมสำหรับตราประทับความลับ, แต่คุณสามารถวางลายน้ำไว้ที่มุมเพื่อวัตถุประสงค์การสร้างแบรนด์ได้.</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>If you want to <strong>เพิ่มลายน้ำข้อความลงใน PDF ด้วย Java</strong> with a different layout on each page, you can modify these properties inside a loop that processes pages individually. SDK ยังรองรับลายน้ำรูปภาพ, การไล่สี, และข้อความหลายบรรทัดหากกรณีการใช้งานของคุณต้องการความซับซ้อนด้านภาพมากขึ้น.</p>
<h2 id="สรป">สรุป</h2>
<p>การเพิ่มลายน้ำลงใน PDF ด้วย Java ทำได้อย่างง่ายดายด้วย <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. SDK จัดการการโหลด, การประมวลผลและการบันทึก PDF อย่างมีประสิทธิภาพ แม้สำหรับไฟล์ขนาดใหญ่ด้วยระบบแคชในตัว. โดยการปรับความโปร่งใส, การหมุน, ฟอนต์, สีและการจัดแนว คุณสามารถสร้างลายน้ำที่ดูเป็นมืออาชีพและช่วยป้องกันการกระจายโดยไม่ได้รับอนุญาต. อย่าลืมขอรับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; คุณสามารถขอใบอนุญาตชั่วคราวจาก <a href="https://purchase.conholdate.com/temporary-license/">temporary license page</a> หรือดูตัวเลือกการกำหนดราคาได้ที่ <a href="https://purchase.conholdate.com/pricing/total/family/">pricing page</a>. ด้วยโค้ดและขั้นตอนการกำหนดค่าที่อธิบายไว้ คุณพร้อมแล้วที่จะผสานการใส่ลายน้ำ PDF เข้าไปในแอปพลิเคชัน Java ของคุณ.</p>
<h2 id="คำถามทพบบอย">คำถามที่พบบ่อย</h2>
<p><strong>ฉันจะเพิ่มลายน้ำลงใน PDF ด้วย Java โดยไม่ต้องเขียนโค้ด PDF ระดับต่ำได้อย่างไร?</strong><br>
ใช้คลาส <code>Watermark</code> จาก <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. มันทำให้โครงสร้าง PDF ถูกแยกนามธรรมออก ทำให้คุณสามารถมุ่งเน้นที่คุณสมบัติลายน้ำ เช่น ข้อความ, ฟอนต์, และตำแหน่งได้</p>
<p><strong>ตัวเลือกใดบ้างที่มีสำหรับการจัดรูปแบบลายน้ำข้อความ?</strong><br>
คุณสามารถตั้งค่าแบบอักษร (<code>new Font(...)</code>), ขนาด, สไตล์ (หนา, เอียง), สี (<code>setColor</code>), ความทึบ (<code>setOpacity</code>), การหมุน (<code>setRotationAngle</code>), และการจัดแนว (<code>setHorizontalAlignment</code>, <code>setVerticalAlignment</code>). ตัวเลือกเหล่านี้ได้ถูกแสดงในตัวอย่างโค้ดเต็ม.</p>
<p><strong>SDK สามารถประมวลผล PDF ขนาดใหญ่ได้อย่างมีประสิทธิภาพหรือไม่?</strong><br>
ใช่. โดยการกำหนดค่า <code>PdfLoadOptions.setCacheSize</code> คุณจะเปิดการสตรีมและแคช ซึ่งช่วยลดการใช้หน่วยความจำสำหรับ PDF ขนาดหลายเมกะไบต์ นี้ทำให้กระบวนการเพิ่มลายน้ำลงใน PDF ด้วย Java เหมาะสำหรับการประมวลผลเป็นชุดบนเซิร์ฟเวอร์</p>
<p><strong>ฉันจำเป็นต้องซื้อใบอนุญาตเพื่อเรียกใช้ตัวอย่างนี้หรือไม่?</strong><br>
จำเป็นต้องมีใบอนุญาตสำหรับการใช้งานในสภาพแวดล้อมการผลิต. รับใบอนุญาตชั่วคราวจาก <a href="https://purchase.conholdate.com/temporary-license/">หน้าใบอนุญาตชั่วคราว</a> หรือสำรวจรายละเอียดการกำหนดราคาฉบับเต็มที่ <a href="https://purchase.conholdate.com/pricing/total/family/">หน้าแผนราคา</a></p>
<h2 id="อานเพมเตม">อ่านเพิ่มเติม</h2>
<ul>
<li><a href="https://blog.conholdate.com/th/total/add-text-to-pdf-in-java/">เพิ่มข้อความลงใน PDF ด้วย Java</a></li>
<li><a href="https://blog.conholdate.com/th/total/add-shapes-to-pdf-in-java/">เพิ่มรูปร่างลงใน PDF ด้วย Java</a></li>
<li><a href="https://blog.conholdate.com/th/total/add-barcode-to-pdf-in-java/">เพิ่มบาร์โค้ดลงใน PDF ด้วย Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
