<?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/ko/tag/pdf-manipulation/</link>
    <description>Recent content in pdf manipulation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ko</language>
    <lastBuildDate>Mon, 07 Sep 2026 03:41:37 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/ko/tag/pdf-manipulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Java에서 PDF에 워터마크 추가</title>
      <link>https://blog-qa.conholdate.com/ko/total/add-watermark-to-pdf-in-java/</link>
      <pubDate>Mon, 07 Sep 2026 03:41:37 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/ko/total/add-watermark-to-pdf-in-java/</guid>
      <description>Conholdate.Total for Java를 사용하여 Java에서 PDF 파일에 워터마크를 추가하는 방법을 배웁니다. 이 단계별 가이드에는 전체 코드, 설정 및 구성 팁이 포함되어 있습니다.</description>
      <content:encoded><![CDATA[<p>Java에서 <a href="https://docs.fileformat.com/pdf">PDF</a> 에 워터마크를 추가해야 한다면, 시각적 오버레이를 통해 문서를 무단 사용으로부터 보호할 수 있습니다. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>는 서버 측에서 PDF 조작을 단순화하는 강력한 SDK를 제공합니다. 이 가이드에서는 완전한 실행 가능한 예제를 확인하고, 각 라인이 어떻게 작동하는지 배우며, Maven 종속성을 설정하고, 불투명도, 회전 및 정렬을 미세 조정할 수 있는 옵션을 발견하게 됩니다.</p>
<h2 id="전체-코드-예제-java에서-pdf에-텍스트-워터마크-추가">전체 코드 예제: Java에서 PDF에 텍스트 워터마크 추가</h2>
<p>다음 예제는 Conholdate.Total for Java를 사용하여 PDF에 텍스트 워터마크를 추가하는 방법을 보여줍니다.</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="java-코드에서-pdf에-워터마크-추가-이해">Java 코드에서 PDF에 워터마크 추가 이해</h2>
<p>Java에서 PDF에 워터마크를 추가하는 코드는 명확한 순서를 따르며, 이를 모든 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/">Java API 레퍼런스</a>를 확인하십시오.</p>
<h2 id="pdf-워터마크를-위한-환경-준비">PDF 워터마크를 위한 환경 준비</h2>
<p>Java에서 PDF에 워터마크를 추가하는 워크플로는 Maven 의존성을 추가하는 것으로 시작합니다. 그 후, 호환되는 JDK와 약간의 구성만 필요합니다.</p>
<h3 id="필수-조건-및-java-버전">필수 조건 및 Java 버전</h3>
<ul>
<li>Java 8 이상이 필요합니다; SDK는 최신 언어 기능과 스트림을 사용합니다.</li>
<li>Maven 3.5+는 종속성 관리를 단순화합니다.</li>
<li>프로젝트의 <code>pom.xml</code>에 Conholdate 저장소가 포함되어 Maven이 아티팩트를 해결할 수 있도록 하세요.</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/">download page</a>에서 직접 다운로드할 수도 있습니다. 의존성을 추가한 후, <code>mvn clean install</code>을 실행하여 SDK가 클래스패스에 있는지 확인하십시오.</p>
<h3 id="rest-api-사용-선택-사항">REST API 사용 (선택 사항)</h3>
<p>언어에 구애받지 않는 접근 방식을 선호한다면, Conholdate.Total은 Java 코드를 전혀 사용하지 않고도 워터마크를 추가할 수 있는 REST 엔드포인트를 제공합니다. 간단한 <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>서버에 있는 모든 TrueType 글꼴로 기본 Arial 글꼴을 교체할 수 있습니다. 색상을 변경하는 것은 다른 <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>불투명도는 워터마크가 얼마나 투명하게 표시되는지를 제어합니다. 값은 <code>0.0</code>(완전히 보이지 않음)부터 <code>1.0</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">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>수평 및 수직 정렬 속성은 <code>Left</code>, <code>Center</code>, <code>Right</code> 및 <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>각 페이지마다 다른 레이아웃으로 <strong>add text Watermark to PDF in Java</strong>을(를) 원한다면, 페이지를 개별적으로 처리하는 루프 안에서 이러한 속성을 수정할 수 있습니다. SDK는 이미지 워터마크, 그라디언트 채우기 및 다중 라인 텍스트도 지원하므로 사용 사례에 따라 더 복잡한 시각 효과를 구현할 수 있습니다.</p>
<h2 id="결론">결론</h2>
<p>Java에서 PDF에 워터마크를 추가하는 것은 <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>를 사용하면 간단합니다. SDK는 로드, 처리 및 PDF 저장을 효율적으로 처리하며, 내장 캐싱 덕분에 대용량 파일도 원활하게 처리합니다. 불투명도, 회전, 글꼴, 색상 및 정렬을 사용자 지정하면 무단 배포를 방지하는 전문적인 워터마크를 만들 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 획득해야 함을 기억하세요; <a href="https://purchase.conholdate.com/temporary-license/">임시 라이선스 페이지</a>에서 임시 라이선스를 요청하거나 <a href="https://purchase.conholdate.com/pricing/total/family/">가격 페이지</a>에서 가격 옵션을 확인할 수 있습니다. 코드와 구성 단계가 모두 포함되었으므로 Java 애플리케이션에 PDF 워터마크 기능을 통합할 준비가 되었습니다.</p>
<h2 id="자주-묻는-질문">자주 묻는 질문</h2>
<p><strong>Java에서 저수준 PDF 코드를 작성하지 않고 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의 메모리 사용량을 줄입니다. 이는 Java에서 PDF에 워터마크를 추가하는 워크플로우를 서버에서 배치 처리에 적합하게 만듭니다.</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/ko/total/add-text-to-pdf-in-java/">Java에서 PDF에 텍스트 추가</a></li>
<li><a href="https://blog.conholdate.com/ko/total/add-shapes-to-pdf-in-java/">Java에서 PDF에 도형 추가</a></li>
<li><a href="https://blog.conholdate.com/ko/total/add-barcode-to-pdf-in-java/">Java에서 PDF에 바코드 추가</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
