Java에서 PDF에 사용자 지정 워터마크 적용하는 방법
IronPDF는 Java 개발자가 HTML 문자열과 완전한 CSS 지원을 사용하여 PDF 문서에 사용자 지정 워터마크를 적용할 수 있게 해주며, 이를 통해 브랜드화 또는 보안 목적으로 텍스트, 이미지, 불투명도, 회전 및 위치를 완전히 제어할 수 있습니다.
빠른 시작: Java를 사용하여 PDF에 워터마크 적용
- IronPDF를 Maven 또는 Gradle 프로젝트에 추가하고 라이선스 키를 설정하세요
PdfDocument.fromFile()를 사용하여 PDF 문서를 로드하십시오- 워터마크용 HTML 문자열을 만드세요 (텍스트, 이미지 또는 둘 다)
pdf.applyWatermark(watermarkHtml)을 사용하여 워터마크를 적용하십시오pdf.saveAs()로 워터마크가 적용된 PDF를 저장하십시오
:title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
:title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
워터마크는 PDF 문서를 보호하고 소유권이나 문서 상태를 나타냅니다. 일반적인 사용 사례로는 초안을 '비밀'로 표시하거나 모든 페이지에 회사 로고를 삽입하거나, 문서가 승인 대기 중임을 나타내는 것입니다. IronPDF는 HTML 및 CSS 접근 방식을 사용하므로 브라우저에서 표현할 수 있는 모든 스타일링(사용자 지정 글꼴, 불투명도, 회전, 절대 위치 지정)은 워터마크에서도 동일하게 작동합니다.
이 가이드는 text 워터마크, image 워터마크, 불투명도 및 위치 제어, 및 TextStamper 및 ImageStamper와 함께 고급 스탬핑을 다룹니다. 관련된 PDF 조작 기술에 대해서는 Java에서 HTML로 PDF 만들기 튜토리얼 또는 배경 및 전경 추가하기의 개요를 참조하세요.
Java에서 워터마크를 적용하는 방법
- PDF에 워터마크를 적용하는 Java 라이브러리를 다운로드하세요.
- 새 PDF 파일을 렌더링하거나 기존 PDF 파일을 불러옵니다.
- 워터마크로 사용할 HTML 문자열 또는 이미지를 구성하세요.
- 적절한 방법을 사용하여 워터마크를 적용하세요.
- 필요에 따라 투명도, 회전 및 위치 매개변수를 조정하십시오.
PDF 파일에 텍스트 워터마크를 적용하는 방법은 무엇인가요?
텍스트를 PDF 문서의 모든 페이지에 스탬핑하기 위해 applyWatermark 메서드를 사용하십시오. 이 메서드는 HTML 문자열을 수락하므로, 워터마크를 원하는 CSS 속성으로 스타일링할 수 있습니다: 글꼴 유형, 크기, 색상, 문자 간격 또는 텍스트 그림자. 아래 예시는 문서를 빨간색 '비밀'로 표시하여 가장 일반적인 감사 추적 및 접근 제어 시나리오를 다룹니다.
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// HTML string defines the watermark appearance via CSS
String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";
// Apply the watermark to every page
pdf.applyWatermark(watermarkHtml);
// Save the watermarked PDF to a new file
pdf.saveAs("text_watermark.pdf");
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// HTML string defines the watermark appearance via CSS
String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";
// Apply the watermark to every page
pdf.applyWatermark(watermarkHtml);
// Save the watermarked PDF to a new file
pdf.saveAs("text_watermark.pdf");
}
}
출력 파일 워터마크에 적용 가능한 HTML 렌더링 기술을 더 깊이 있게 알아보려면 HTML에서 PDF로 변환하는 튜토리얼을 참조하세요. 이미지 워터마크는 IronPDF는 워터마크에서 PNG, JPEG, GIF, SVG, BMP 이미지 형식을 지원합니다. 투명한 배경의 PNG는 로고 워터마크에 가장 깔끔한 결과를 제공합니다. 출력 파일 세 가지 선택적 매개변수를 결합하면 수직 및 수평 정렬의 교차점마다 하나씩 총 9가지 위치 옵션이 있습니다. 같은 페이지에 여러 위치에 워터마크를 나타내거나 특정 페이지 범위에만 워터마크를 적용해야 하는 경우, 스탬퍼 클래스가 더 세밀한 제어를 제공합니다. 배경 및 전경 가이드를 참조하여 레이어드 조합 기술을 확인하세요. 수직 정렬 ( 수평 정렬 ( 정확한 제어를 위해 어떤 수직 값이든 어떤 수평 값과 쌍으로 매칭하세요. 로고가 오른쪽 상단 모서리에 있고, 초안 통지가 대각선으로 중앙에 있는 것과 같이 여러 중첩된 스탬프가 필요한 문서의 경우, 각 스탬프를 별도의 수백 개의 PDF에 고유한 고객별 워터마크를 스탬핑하는 대량 처리의 경우, 각 Apache PDFBox 라이브러리로 워터마킹 작업을 하는 개발자들은 IronPDF의 접근 방식을 훨씬 간단하다고 느낄 것입니다. PDFBox는 콘텐츠 스트림을 수동으로 구성하고 자원을 관리해야 하는 반면, 이 가이드는 IronPDF for Java로 PDF에 워터마킹하는 네 가지 접근법: 무료 체험을 시작하세요 당신의 Java 애플리케이션에서 워터마킹을 테스트하기 위해. 체험에는 평가에 시간 제한이 없는 모든 스탬프 및 워터마킹 기능에 대한 전체 액세스가 포함됩니다. 배포할 준비가 되면, 라이선스 옵션을 확인하여 귀하의 사용에 맞는 등급을 찾으십시오. 당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? 전체 튜토리얼 페이지를 여기서 확인하세요: IronPDF for Java 사용 가이드 PDF를 네. HTML 문자열 내에 네. HTML 요소에 CSS 네. 네. 여러 번 applyWatermark 호출은 모든 페이지에 워터마크를 단일 작업으로 추가합니다. 기본적으로 워터마크는 불투명도 50%로 렌더링되며 각 페이지의 중앙에 위치합니다. 라이브러리의 모든 기능을 활성화하려면 IronPDF 라이선스 키를 모든 PDF 작업 전에 구성하세요. applyWatermark에 전달된 HTML은 유효한 모든 HTML 요소를 수락하므로, , 또는 스타일이 지정된 태그를 다중 라인 워터마크로 포함할 수 있습니다.
텍스트 워터마크는 어떻게 생겼나요?
text_watermark.pdf은 각 페이지에 수평 및 수직으로 중앙에 놓인 빨간 색의 기밀이라는 단어를 보여줍니다. 기본 불투명도 50%는 워터마크 아래에서 문서 내용을 읽을 수 있게 유지합니다. 여러 페이지로 구성된 문서의 경우, 각 페이지는 별도의 페이지 루프 없이 동일한 스탬프를 받습니다.transform: rotate(-45deg) scale(1.5).
PDF에 이미지 워터마크를 어떻게 추가할 수 있나요?
태그를 HTML 문자열에 래핑하여 동일한 applyWatermark 메서드를 통해 작동합니다. 투명한 배경의 PNG 파일은 로고 워터마크에 적합합니다. 이미지가 PDF 페이지에 합성될 때 투명성이 유지되기 때문입니다. JPEG, GIF, SVG 및 BMP 형식도 지원됩니다.//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Reference the image file path relative to the runtime working directory
String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";
// Apply the image watermark to all pages
pdf.applyWatermark(watermarkHtml);
// Save the result
pdf.saveAs("image_watermark.pdf");
}
}//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Reference the image file path relative to the runtime working directory
String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";
// Apply the image watermark to all pages
pdf.applyWatermark(watermarkHtml);
// Save the result
pdf.saveAs("image_watermark.pdf");
}
} 태그의 CSS 속성은 크기, 위치, 투명성을 제어합니다://:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
"<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
"<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";src 속성에 Base64 데이터 URI로 이미지를 삽입하거나 절대 경로를 사용하여 런타임에 JVM의 작업 디렉토리에서 이미지 경로에 접근 가능해야 합니다.이미지 워터마크에 지원되는 파일 형식은 무엇인가요?
image_watermark.pdf은 100픽셀 너비의 이미지를 각 페이지의 중심에 50% 기본 불투명도로 보여줍니다. 다른 워터마크에서 사용하기 위해 기존 PDF에서 이미지를 추출하려면 PDF에서 이미지 추출 가이드를 참조하세요.
워터마크의 불투명도와 정렬을 어떻게 제어할 수 있나요?
applyWatermark 메서드는 HTML 문자열 뒤에 불투명도 및 정렬 매개변수를 수락합니다. 불투명도는 0(완전 투명)에서 100(완전 불투명) 사이의 정수입니다. 20에서 40 사이의 값은 대부분의 문서에 잘 맞으며, 워터마크가 본문 텍스트를 가리지 않으면서도 가시성을 유지합니다. VerticalAlignment 및 HorizontalAlignment 열거형은 페이지의 모서리 또는 가장자리를 목표로 하는 워터마크를 제어합니다.//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Define the watermark HTML
String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";
// Apply at 30% opacity, anchored to the top-left corner of each page
pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);
// Save the result
pdf.saveAs("watermark_opacity_alignment.pdf");
}
}//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Define the watermark HTML
String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";
// Apply at 30% opacity, anchored to the top-left corner of each page
pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);
// Save the result
pdf.saveAs("watermark_opacity_alignment.pdf");
}
}어떤 정렬 옵션이 있나요?
applyWatermark 메서드는 다음 정렬 상수를 지원합니다:VerticalAlignment):
TOP - 워터마크가 상단 가장자리에 고정MIDDLE - 워터마크가 수직으로 중앙BOTTOM - 워터마크가 하단 가장자리에 고정HorizontalAlignment):
LEFT - 워터마크가 왼쪽 가장자리에 고정CENTER - 워터마크가 수평으로 중앙RIGHT - 워터마크가 오른쪽 가장자리에 고정applyWatermark(html)의 기본 호출은 추가 매개변수가 없는 경우 불투명도를 50으로 설정하고, VerticalAlignment.MIDDLE 및 HorizontalAlignment.CENTER를 전달하는 것과 같습니다.applyWatermark 호출로 적용하십시오. 주석 기반 오버레이의 경우, 주석 예제를 참조하세요.
TextStamper 및 ImageStamper로 고급 워터마크를 어떻게 적용합니까?
applyWatermark 메서드는 대부분의 워터마크 필요를 처리하지만, 정확한 픽셀 좌표, 페이지 범위 타겟팅, 또는 동적 텍스트 생성이 필요한 경우, TextStamper 및 ImageStamper 클래스는 프로그래밍 제어를 제공합니다. 두 클래스는 모두 com.ironsoftware.ironpdf.stamp 패키지에 속합니다.TextStamper은 문자열 값을 수락하며 글꼴, 글꼴 크기, 글꼴 색상, 수평 및 수직 정렬, 불투명도에 대한 속성을 노출합니다. 또한 정수(도)로 회전도 지원합니다. ImageStamper은 이미지에 대한 파일 경로 또는 바이트 배열을 수락하며 TextStamper와 동일한 정렬 및 불투명도 제어를 노출합니다.applyWatermark보다 스탬퍼 클래스의 주된 이점은 특정 페이지를 목표로 할 수 있는 능력입니다. 워터마크를 적용할 페이지에만 도표형 범위로 0 기반 페이지 번호 목록을 stamp 메서드에 전달하여 예를 들어, 보고서의 표지 페이지 또는 계약서의 최종 승인 페이지에만 스탬핑할 수 있습니다.//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load the target PDF document
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Configure a TextStamper with custom font, rotation, and opacity
TextStamper stamper = new TextStamper();
stamper.setText("DRAFT");
stamper.setFontSize(72);
stamper.setFontColor("gray");
stamper.setOpacity(40);
stamper.setRotation(45);
stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);
// Apply the stamp only to pages 0 and 1 (zero-indexed)
pdf.stamp(stamper, Arrays.asList(0, 1));
// Save the stamped PDF
pdf.saveAs("text_stamped.pdf");
}
}//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Main {
public static void main(String[] args) throws IOException {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load the target PDF document
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Configure a TextStamper with custom font, rotation, and opacity
TextStamper stamper = new TextStamper();
stamper.setText("DRAFT");
stamper.setFontSize(72);
stamper.setFontColor("gray");
stamper.setOpacity(40);
stamper.setRotation(45);
stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);
// Apply the stamp only to pages 0 and 1 (zero-indexed)
pdf.stamp(stamper, Arrays.asList(0, 1));
// Save the stamped PDF
pdf.saveAs("text_stamped.pdf");
}
}stamp 메서드는 워터마크를 받을 페이지에 정확하게 제어할 수 있는 0 기반 페이지 번호 List를 수락합니다. 페이지 목록이 제공되지 않은 경우, 스탬프는 모든 페이지에 적용됩니다. 응용 프로그램이 동적으로 워터마크를 생성하는 경우, 예를 들어 각 생성된 PDF에 고유한 트랜잭션 ID, 사용자 이름, 또는 타임스탬프를 삽입하는 경우, TextStamper가 올바른 선택입니다.TextStamper 및 ImageStamper 클래스는 공통 Stamper 기반 클래스를 공유합니다. 애플리케이션이 동적으로 워터마크를 생성해야 할 때마다, 예를 들어 각 생성된 PDF에 고유한 거래 ID나 사용자 이름을 삽입하는 경우에 스탬퍼 접근 방식을 사용하세요.PdfDocument를 루프 내에서 로드 및 스탬핑하고, 다음 반복 전에 saveAs을 호출하십시오. IronPDF는 각 문서를 독립적으로 처리하므로 메모리 사용이 일정하게 유지됩니다. Java PDF 스탬프 가이드는 ImageStamper 및 추가 스탬핑 옵션을 자세히 설명하고, IronPDF Java 문서는 전체 API 참조를 제공합니다.TextStamper는 applyWatermark와 어떻게 다릅니까?
applyWatermark 메서드는 HTML 문자열에서 빠르고 일관된 다페이지 스탬프를 위한 최적화가 되어 있습니다. TextStamper 및 ImageStamper은 applyWatermark의 부족한 시나리오를 다룹니다: 페이지의 하위 집합을 타겟팅하거나, 서로 다른 구성을 가진 여러 개의 스탬프를 적용하거나, 데이터베이스 또는 사용자 입력에서 프로그래밍 방식으로 워터마크 매개변수를 빌드해야 하는 경우. 두 방법 모두 PDF 콘텐츠 스트림에 직접 내장된 벡터 품질 출력을 생성하므로, 워터마크는 다른 콘텐츠 레이어를 무시하는 다시 저장, 인쇄 및 PDF 리더를 통해도 살아남습니다.applyWatermark는 평범한 HTML 문자열을 수락합니다. Baeldung의 iText 워터마킹 가이드는 iText를 사용하여 PdfStampAnnotation 객체를 생성하고 PdfCanvas 파이프라인을 통해 추가하는 유사 작업을 설명합니다. IronPDF는 이를 단일 메서드 호출로 줄여줍니다.PdfDocument.extractAllText()와 함께 텍스트 콘텐츠를 추출하고 예상되는 워터마크 문자열을 확인하거나 Java PDF 조작에 대한 Stack Overflow 커뮤니티 토론에서 일반적인 문제 해결 패턴을 사용하십시오.
Java에서 PDF 워터마킹을 위한 다음 단계는 무엇입니까?
applyWatermark을 통해 간단한 텍스트 워터마킹, HTML 태그를 사용하는 이미지 워터마킹, 메서드 매개변수를 통한 불투명도 및 정렬 제어, 및 고급 사용 사례를 위한 TextStamper 및 ImageStamper로의 프로그래밍 스탬핑을 다루었습니다.자주 묻는 질문
Java를 사용하여 PDF에 텍스트 워터마크를 추가하는 방법은 무엇인가요?
PdfDocument.fromFile()로 로드한 다음 HTML 문자열로 pdf.applyWatermark()를 호출합니다. IronPDF는 모든 유효한 HTML 및 CSS를 렌더링하므로, 요소에 색상, 글꼴 크기 및 불투명도를 직접 설정할 수 있습니다.Java에서 이미지를 워터마크로 사용할 수 있습니까?
<img> 태그를 applyWatermark()에 전달하세요. 투명한 배경이 있는 PNG 파일이 가장 명확한 결과를 제공합니다. 또한 페이지 범위 타겟팅을 위해 ImageStamper 클래스를 사용할 수도 있습니다.워터마크 불투명도를 어떻게 제어하나요?
applyWatermark()의 두 번째 인수로 0 (완전히 투명)에서 100 (완전히 불투명)까지의 정수를 전달합니다. 20에서 40 사이의 값이 본문 텍스트를 가리지 않고 대부분의 문서에 잘 작동합니다.워터마크를 대각선으로 회전할 수 있습니까?
transform: rotate(-45deg) 스타일을 추가한 후 이를 applyWatermark()에 전달하세요. IronPDF는 렌더링 중에 모든 표준 CSS3 변형을 적용합니다.applyWatermark와 TextStamper의 차이점은 무엇인가요?
applyWatermark()는 동일한 HTML 기반 스탬프를 모든 페이지에 적용하는 가장 빠른 방법입니다. TextStamper는 글꼴, 회전 및 특정 페이지만 타겟팅하는 페이지 목록에 대한 프로그래매틱 제어를 제공합니다.워터마크를 특정 위치에 배치하려면 어떻게 하나요?
applyWatermark()의 세 번째와 네 번째 인수로 VerticalAlignment 및 HorizontalAlignment 열거형 값을 전달하세요. 가능한 위치는 TOP, MIDDLE, BOTTOM과 LEFT, CENTER, RIGHT 조합이 포함됩니다.다른 페이지에 다른 워터마크를 적용할 수 있습니까?
TextStamper 또는 ImageStamper를 사용하고 특정 워터마크가 필요한 페이지에만 타겟팅하려면 stamp() 메소드에 0으로 인덱싱된 페이지 번호 목록을 전달하세요.같은 PDF에 텍스트와 이미지 워터마크를 결합할 수 있습니까?
applyWatermark()를 호출하거나 저장하기 전에 여러 번 stamp()를 호출하세요. 각 호출은 PDF 콘텐츠 스트림에 독립적으로 새 레이어를 추가합니다.


