Menambahkan pengenal visual ke file PDF sangat penting untuk melindungi hak kekayaan intelektual dan memberi merek pada dokumen. GroupDocs.Watermark Cloud SDK for Java menawarkan API yang sederhana untuk menyematkan watermark gambar langsung ke PDF dari aplikasi Java Anda. Dalam tutorial ini Anda akan belajar cara menambahkan watermark gambar ke dokumen PDF dalam Java, melihat contoh lengkap yang berfungsi, dan menjelajahi panggilan REST cURL yang setara untuk integrasi cloud.
Tambahkan Watermark Gambar ke Dokumen PDF di Java dalam 5 Langkah
- Inisialisasi klien API: Buat instance
ApiClientdengan ID klien dan rahasia Anda.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);
Langkah ini menghubungkan kode Java Anda ke layanan GroupDocs.Watermark Cloud. Lihat referensi API untuk detail lebih lanjut.
- Tentukan file PDF sumber: Buat objek
FileInfoyang menunjuk ke PDF yang ingin Anda beri watermark.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");
File harus diunggah ke penyimpanan GroupDocs Anda sebelum permintaan.
Konfigurasikan watermark gambar: Tentukan jalur gambar, opasitas, faktor skala, rotasi, dan perataan.
ImageWatermark imageWatermark = new ImageWatermark(); imageWatermark.setImagePath("watermark.png"); imageWatermark.setOpacity(0.5); imageWatermark.setScaleFactor(0.3); imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER); imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER); imageWatermark.setMargin(new Margin(10, 10, 10, 10));Sesuaikan nilai-nilai ini untuk mencapai tampilan yang diinginkan; opasitas mengontrol transparansi, sementara scaleFactor menentukan ukuran relatif terhadap halaman.
Atur opsi watermark dan jalur output: Gabungkan informasi file dan watermark ke dalam objek
WatermarkOptions.WatermarkOptions options = new WatermarkOptions(); options.setFileInfo(fileInfo); options.setImageWatermark(imageWatermark); options.setOutputPath("output.pdf");outputPathmemberi tahu layanan di mana menyimpan PDF yang dihasilkan.Jalankan permintaan: Buat
AddWatermarkRequestdan panggil API. Tangani respons sukses atau kesalahan.AddWatermarkRequest request = new AddWatermarkRequest(options); try { AddWatermarkResponse response = watermarkApi.addWatermark(request); System.out.println("Watermark added successfully. Output file: " + response.getPath()); } catch (Exception e) { System.err.println("Error adding watermark: " + e.getMessage()); }Setelah eksekusi, PDF yang telah ditambahkan watermark tersedia di lokasi yang Anda tentukan.
Contoh Kode Lengkap: Tambahkan Watermark Gambar ke Dokumen PDF dengan Java
Contoh berikut menunjukkan implementasi lengkap mulai dari inisialisasi klien hingga menyimpan PDF yang diberi watermark.
import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;
public class AddImageWatermarkExample {
public static void main(String[] args) {
// Initialize API client (replace with your actual credentials)
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);
// Input PDF file information
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");
// Image watermark configuration
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png"); // Path to watermark image
imageWatermark.setOpacity(0.5); // 50% opacity
imageWatermark.setScaleFactor(0.3); // 30% of page size
imageWatermark.setRotationAngle(0); // No rotation
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10)); // 10 points margin on all sides
// Watermark options
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
options.setImageWatermark(imageWatermark);
options.setOutputPath("output.pdf"); // Resulting PDF with watermark
// Create request and call API
AddWatermarkRequest request = new AddWatermarkRequest(options);
try {
AddWatermarkResponse response = watermarkApi.addWatermark(request);
System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (Exception e) {
System.err.println("Error adding watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (
input.pdf,watermark.png,output.pdf) agar sesuai dengan lokasi file Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan lakukan pengujian secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Terapkan Watermark Gambar pada Dokumen PDF melalui cURL dan REST API
Berikut adalah panggilan REST yang dapat Anda gunakan dengan cURL untuk mencapai hasil yang sama tanpa menulis kode Java.
- Dapatkan token akses
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Respons berisi access_token yang digunakan dalam panggilan selanjutnya.
Unggah PDF sumber
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "file=@/path/to/input.pdf"Unggah gambar watermark
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "file=@/path/to/watermark.png"Tambahkan watermark gambar
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "fileInfo": { "filePath": "input.pdf" }, "imageWatermark": { "imagePath": "watermark.png", "opacity": 0.5, "scaleFactor": 0.3, "horizontalAlignment": "Center", "verticalAlignment": "Center", "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 } }, "outputPath": "output.pdf" }'Permintaan ini mencerminkan logika kode Java, menerapkan pengaturan opacity, skala, dan perataan yang sama.
Unduh PDF berwatermark
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Untuk detail lebih lanjut tentang badan permintaan dan parameter yang didukung, lihat dokumentasi API resmi.
Menginstal dan Mengonfigurasi GroupDocs.Watermark Cloud SDK for Java
Tambahkan dependensi Maven ke pom.xml Anda (atau potongan Gradle yang setara). Perpustakaan ini dihosting di Maven Central.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
Anda juga memerlukan akun GroupDocs Cloud yang valid. Dapatkan Client ID dan Client Secret Anda dari GroupDocs portal. Tidak diperlukan instalasi runtime tambahan karena SDK berkomunikasi dengan layanan cloud.
Menyesuaikan Opsi Watermark Gambar untuk Dokumen PDF
SDK menyediakan beberapa properti yang memungkinkan Anda mengontrol tampilan visual watermark.
Sesuaikan Opasitas
imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark
Nilai opacity berkisar dari 0.0 (sepenuhnya transparan) hingga 1.0 (sepenuhnya opak).
Ubah Faktor Skala
imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width
Faktor skala menentukan ukuran watermark relatif terhadap dimensi halaman.
Atur Penjajaran dan Margin
imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));
Pengaturan ini menempatkan watermark di sudut kanan bawah dengan margin 20 poin.
Untuk daftar lengkap properti yang dapat dikonfigurasi, lihat referensi API.
Kesimpulan
Menambahkan watermark gambar ke dokumen PDF di Java adalah tugas yang sederhana ketika Anda menggunakan GroupDocs.Watermark Cloud SDK for Java. SDK menangani semua manipulasi PDF tingkat rendah, memungkinkan Anda fokus pada aspek visual seperti opasitas, skala, dan penempatan. Baik Anda lebih suka implementasi Java native maupun alur kerja cURL berbasis cloud, hasil berkualitas tinggi yang sama dapat dicapai tanpa mengorbankan kinerja. Ingatlah untuk memperoleh lisensi yang tepat untuk penggunaan produksi; detail harga tersedia di halaman produk dan halaman lisensi sementara dapat digunakan untuk evaluasi.
FAQs
Bagaimana cara menambahkan watermark gambar ke PDF di Java tanpa kehilangan kualitas?
Gunakan propertiscaleFactoruntuk mengatur ukuran watermark relatif terhadap halaman dan mempertahankan DPI asli PDF sumber. SDK mempertahankan resolusi PDF, sehingga watermark tetap tajam pada semua tingkat zoom.Apakah saya dapat menambahkan beberapa watermark ke PDF yang sama?
Ya. Buat objekImageWatermarkterpisah dengan konfigurasi yang berbeda dan tambahkan secara berurutan dengan memanggiladdWatermarkbeberapa kali atau dengan menambahkannya ke dalam daftar dalam permintaan.Apa format gambar yang didukung untuk watermark?
API menerima jenis gambar umum seperti PNG, JPG, BMP, GIF dan TIFF. PNG direkomendasikan untuk kualitas lossless dan dukungan transparansi.Apakah ada cara untuk melihat pratinjau watermark sebelum menerapkannya?
Anda dapat menggunakan GroupDocs.Watermark Cloud SDK for Java untuk menghasilkan PDF sementara dengan watermark dan mengunduhnya untuk ditinjau. Ini menggunakan panggilanaddWatermarkyang sama dengan jalur output yang mengarah ke lokasi sementara.
