Jika Anda perlu menambahkan Watermark ke PDF di Java, lapisan visual dapat melindungi dokumen Anda dari penggunaan yang tidak sah. Conholdate.Total for Java 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.
Contoh Kode Lengkap: Menambahkan Watermark Teks ke PDF dalam Java
Contoh berikut menunjukkan cara menambahkan watermark teks ke PDF menggunakan Conholdate.Total for Java.
import com.groupdocs.watermark.Watermark;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfSaveOptions;
import com.groupdocs.watermark.watermarks.TextWatermark;
import com.groupdocs.watermark.watermarks.HorizontalAlignment;
import com.groupdocs.watermark.watermarks.VerticalAlignment;
import java.awt.Color;
import java.awt.Font;
public class AddPdfWatermark {
public static void main(String[] args) {
String inputFile = "input.pdf";
String outputFile = "output.pdf";
// Create a text watermark
Font font = new Font("Arial", Font.BOLD, 48);
TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
textWatermark.setColor(Color.RED);
textWatermark.setOpacity(0.3);
textWatermark.setRotationAngle(45);
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Center);
// Load options for the source PDF (enable caching for large files)
PdfLoadOptions loadOptions = new PdfLoadOptions(inputFile);
loadOptions.setCacheSize(100 * 1024 * 1024); // 100 MB cache
// Initialize the Watermark processor
Watermark watermark = new Watermark();
try {
// Apply the watermark to every page of the PDF
watermark.add(textWatermark, loadOptions);
// Save the watermarked PDF
PdfSaveOptions saveOptions = new PdfSaveOptions();
watermark.save(outputFile, saveOptions);
} catch (Exception e) {
System.err.println("Failed to add watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (
input.pdf,output.pdf, 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 dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Memahami Penambahan Watermark ke PDF dalam Kode Java
Kode penambahan Watermark ke PDF dalam Java mengikuti urutan yang jelas yang dapat Anda sesuaikan untuk dokumen PDF apa pun.
- Inisialisasi Pemroses Watermark -
Watermark watermark = new Watermark();membuat mesin yang akan menerapkan watermark. - Buat TextWatermark - Objek
TextWatermarkmenyimpan teks, font, warna, opasitas, dan rotasi.Font font = new Font("Arial", Font.BOLD, 48); TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font); - Konfigurasikan Penampilan - Metode seperti
setColor,setOpacity, dansetRotationAnglemenentukan bagaimana watermark terlihat pada halaman. - Muat PDF Sumber -
PdfLoadOptionsmemuat file input dan mengaktifkan caching untuk dokumen besar, yang mengurangi tekanan memori. - Terapkan dan Simpan -
watermark.add(textWatermark, loadOptions);menerapkan watermark ke setiap halaman, danwatermark.save(outputFile, saveOptions);menulis hasilnya.
Memuat PDF Sumber dengan Caching
Ketika Anda bekerja dengan PDF berukuran multi‑megabyte, mengaktifkan cache mencegah SDK memuat seluruh dokumen ke dalam memori. Baris loadOptions.setCacheSize(100 * 1024 * 1024); 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.
Untuk informasi API yang lebih detail, lihat referensi API Java.
Menyiapkan Lingkungan untuk Watermark PDF
Alur kerja menambahkan Watermark ke PDF di Java dimulai dengan menambahkan dependensi Maven. Setelah itu, Anda memerlukan JDK yang kompatibel dan sedikit konfigurasi.
Prasyarat dan Versi Java
- Java 8 atau lebih tinggi diperlukan; SDK menggunakan fitur bahasa modern dan stream.
- Maven 3.5+ menyederhanakan manajemen dependensi.
- Pastikan bahwa
pom.xmlproyek Anda menyertakan repositori Conholdate sehingga Maven dapat menyelesaikan artefak.
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Anda juga dapat memperoleh file JAR secara langsung dari halaman unduhan. Setelah menambahkan dependensi, jalankan mvn clean install untuk memverifikasi bahwa SDK berada di classpath Anda.
Menggunakan REST API (Opsional)
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 curl sederhana terlihat seperti ini:
curl -X POST "https://api.conholdate.com/v1/pdf/watermark" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.pdf" \
-F "text=CONFIDENTIAL" \
-F "font=Arial" \
-F "fontSize=48" \
-F "color=FF0000" \
-F "opacity=0.3" \
-F "angle=45" \
-F "horizontalAlignment=center" \
-F "verticalAlignment=center" \
-o output.pdf
Versi REST mengikuti langkah‑langkah logis yang sama: memuat, mengkonfigurasi, menerapkan, dan menyimpan sehingga Anda dapat memilih pendekatan yang paling sesuai dengan arsitektur Anda.
Mengonfigurasi Penampilan dan Posisi Watermark
SDK menampilkan beberapa properti yang memungkinkan Anda menyesuaikan watermark secara halus. Di bawah ini adalah pengaturan yang paling sering disesuaikan.
Menyesuaikan Font dan Warna
Anda dapat mengganti font Arial default dengan font TrueType apa pun yang tersedia di server. Mengubah warna semudah melewatkan konstanta java.awt.Color yang berbeda atau membuat nilai RGB khusus.
Font customFont = new Font("Times New Roman", Font.ITALIC, 36);
textWatermark.setColor(new Color(0, 102, 204)); // Deep blue
textWatermark.setFont(customFont);
Menyesuaikan Opasitas dan Rotasi
Opacity mengontrol seberapa transparan watermark muncul. Nilai berkisar dari 0.0 (sepenuhnya tidak terlihat) hingga 1.0 (sepenuhnya opak). Rotasi memungkinkan Anda memiringkan teks untuk membuatnya lebih sulit dihapus.
textWatermark.setOpacity(0.45); // 45% opacity
textWatermark.setRotationAngle(30); // 30 degrees clockwise
Menyelaraskan Watermark pada Halaman
Properti penyelarasan horizontal dan vertikal menerima Left, Center, Right dan Top, Center, Bottom. Penempatan di tengah umum untuk stempel rahasia, tetapi Anda dapat menempatkan watermark di sudut untuk tujuan branding.
textWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);
Jika Anda ingin add text Watermark to PDF in Java 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.
Kesimpulan
Menambahkan watermark ke PDF di Java sangat mudah dengan Conholdate.Total for Java. 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 halaman lisensi sementara atau meninjau opsi harga pada halaman harga. Dengan kode dan langkah konfigurasi yang telah dibahas, Anda siap mengintegrasikan watermark PDF ke dalam aplikasi Java Anda.
Pertanyaan yang Sering Diajukan
Bagaimana cara menambahkan Watermark ke PDF di Java tanpa menulis kode PDF tingkat‑rendah?
Gunakan kelas Watermark dari Conholdate.Total for Java. Kelas ini mengabstraksi struktur PDF, memungkinkan Anda fokus pada properti watermark seperti teks, font, dan penempatan.
Apa opsi yang tersedia untuk menata watermark teks?
Anda dapat mengatur font (new Font(...)), ukuran, gaya (bold, italic), warna (setColor), opasitas (setOpacity), rotasi (setRotationAngle), dan perataan (setHorizontalAlignment, setVerticalAlignment). Opsi-opsi ini ditunjukkan dalam contoh kode lengkap.
Apakah SDK dapat memproses PDF besar secara efisien?
Ya. Dengan mengonfigurasi PdfLoadOptions.setCacheSize, 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.
Apakah saya perlu membeli lisensi untuk menjalankan contoh ini?
Lisensi diperlukan untuk penyebaran produksi. Dapatkan lisensi sementara dari halaman lisensi sementara atau jelajahi detail harga lengkap di halaman harga.
