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

  1. Inisialisasi klien API: Buat instance ApiClient dengan 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.

  1. Tentukan file PDF sumber: Buat objek FileInfo yang 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.

  1. 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.

  2. 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");
    

    outputPath memberi tahu layanan di mana menyimpan PDF yang dihasilkan.

  3. Jalankan permintaan: Buat AddWatermarkRequest dan 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.

  1. 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.

  1. 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"
    
  2. 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"
    
  3. 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.

  4. 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 properti scaleFactor untuk 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 objek ImageWatermark terpisah dengan konfigurasi yang berbeda dan tambahkan secara berurutan dengan memanggil addWatermark beberapa 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 panggilan addWatermark yang sama dengan jalur output yang mengarah ke lokasi sementara.

Baca Selengkapnya