Menambahkan caption dinamis, subtitle, atau pesan promosi ke GIF animasi adalah kebutuhan umum untuk aplikasi web dan seluler modern. GroupDocs.Watermark Cloud SDK for Java menyediakan pustaka berbasis REST yang kuat yang membuat tugas ini menjadi mudah. Dalam panduan ini Anda akan mempelajari cara menambahkan Overlay teks ke GIF menggunakan REST di Java, melihat implementasi Java lengkap, menjelajahi perintah cURL yang setara, dan memahami langkah‑langkah penyiapan yang diperlukan.
Menambahkan Teks Overlay ke GIF Menggunakan REST di Java - Contoh Kode
Contoh ini menunjukkan cara mengonfigurasi watermark teks dan menerapkannya ke setiap frame file GIF.
import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.client.Configuration;
import com.groupdocs.watermark.cloud.model.AddWatermarkRequest;
import com.groupdocs.watermark.cloud.model.AddWatermarkResponse;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.OutputFileInfo;
import com.groupdocs.watermark.cloud.model.TextWatermarkOptions;
import com.groupdocs.watermark.cloud.model.HorizontalAlignment;
import com.groupdocs.watermark.cloud.model.VerticalAlignment;
public class AddTextOverlayToGif {
public static void main(String[] args) {
// Initialize API configuration (replace with your actual clientId and clientSecret)
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
// Prepare input file information
FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.gif"); // Path to the source GIF in the storage
inputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Prepare output file information
OutputFileInfo outputFile = new OutputFileInfo();
outputFile.setFilePath("output.gif"); // Desired path for the watermarked GIF
outputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Configure text watermark options
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000"); // Red color in HEX
textOptions.setOpacity(0.5); // 50% opacity
textOptions.setRotationAngle(0.0);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-"); // Apply to all frames/pages
// Build the request
AddWatermarkRequest request = new AddWatermarkRequest();
request.setFileInfo(inputFile);
request.setOutputFileInfo(outputFile);
request.setOptions(textOptions);
try {
// Execute the request
AddWatermarkResponse response = watermarkApi.addWatermark(request);
System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (ApiException e) {
System.err.println("Error while adding watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui semua jalur file dan nilai konfigurasi agar sesuai dengan lingkungan Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang 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.
Menambahkan Teks pada GIF dengan REST API Menggunakan cURL
Berikut adalah perintah cURL yang melakukan operasi yang sama dari terminal. Mereka menggambarkan alur kerja REST lengkap: otentikasi, unggah, penambahan watermark, dan unduhan.
# 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"}'
Ganti YOUR_ACCESS_TOKEN dalam panggilan berikut dengan token yang dikembalikan di atas.
# 2. Upload the source GIF to storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @path/to/local/input.gif
# 3. Add text overlay to the GIF
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.gif", "storageName": "MyStorage" },
"outputFileInfo": { "filePath": "output.gif", "storageName": "MyStorage" },
"options": {
"text": "Sample Watermark",
"fontFamily": "Arial",
"fontSize": 24,
"color": "#FF0000",
"opacity": 0.5,
"horizontalAlignment": "Center",
"verticalAlignment": "Middle",
"pageRange": "1-"
}
}'
# 4. Download the watermarked GIF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o path/to/local/output.gif
Untuk detail lebih lanjut tentang badan permintaan dan format respons, lihat dokumentasi API resmi.
Memecah Penambahan Teks Overlay ke GIF Menggunakan REST di Java - Cara Kerjanya
- Inisialisasi klien API -
new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")membuat objek konfigurasi yang menyimpan kredensial Anda. InstansiWatermarkApimenggunakan konfigurasi ini untuk menandatangani setiap permintaan.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
Tentukan file sumber dan tujuan -
FileInfodanOutputFileInfomemberi tahu layanan di mana membaca GIF asli dan di mana menulis hasilnya. Keduanya dapat merujuk ke nama penyimpanan khusus.FileInfo inputFile = new FileInfo(); inputFile.setFilePath("input.gif"); inputFile.setStorageName("MyStorage");Konfigurasikan watermark teks -
TextWatermarkOptionsmenyimpan semua properti visual: teks, font, ukuran, warna, opasitas, rotasi, dan perataan. MenetapkanpageRangeke"1-"memastikan setiap frame GIF animasi menerima overlay.
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000");
textOptions.setOpacity(0.5);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-");
Bangun dan kirim permintaan -
AddWatermarkRequestmenggabungkan info file dan opsi. MemanggilwatermarkApi.addWatermark(request)melakukan operasi pada server dan mengembalikan jalur file yang diproses.AddWatermarkRequest request = new AddWatermarkRequest(); request.setFileInfo(inputFile); request.setOutputFileInfo(outputFile); request.setOptions(textOptions); AddWatermarkResponse response = watermarkApi.addWatermark(request);Tangani respons - Respons berisi jalur file output. Dalam aplikasi nyata, Anda biasanya akan mengunduh file atau meneruskan jalur tersebut ke layanan lain.
Untuk daftar lengkap kelas dan properti, lihat referensi API.
Menginstal dan Mengonfigurasi GroupDocs.Watermark Cloud SDK for Java
Tambahkan dependensi Maven ke pom.xml Anda (atau entri Gradle yang setara). Ini menarik versi 23.8 dari SDK.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
Prasyarat
- Java 8 atau lebih tinggi
- Akun GroupDocs Cloud yang aktif
- Client ID and Client Secret (tersedia di dasbor GroupDocs Cloud)
Contoh Konfigurasi
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
Unduh JAR terbaru dari halaman unduhan. Untuk penggunaan produksi, terapkan lisensi yang valid yang diperoleh dari halaman lisensi sementara.
Kesimpulan
Menambahkan teks Overlay ke GIF menggunakan REST di Java menjadi operasi berulang di sisi server dengan bantuan GroupDocs.Watermark Cloud SDK for Java. SDK menyederhanakan kompleksitas penanganan frame animasi, memungkinkan Anda fokus pada konten subtitle atau pesan promosi Anda. Setelah mengintegrasikan kode contoh atau alur kerja cURL, Anda dapat menyesuaikan gaya font, warna, dan opasitas agar sesuai dengan merek Anda. Ingatlah untuk mengamankan lisensi produksi; detail harga tersedia di halaman produk, dan lisensi sementara dapat diperoleh untuk pengujian melalui halaman lisensi sementara. Selamat coding!
Pertanyaan yang Sering Diajukan
Bagaimana cara menambahkan overlay teks ke GIF menggunakan REST di Java ketika teks berubah untuk setiap pengguna?
Bangun objekTextWatermarkOptionspada runtime dengan string spesifik pengguna, lalu panggiladdWatermarkyang sama. API memproses setiap permintaan secara independen, sehingga konten dinamis sepenuhnya didukung.Bisakah saya menambahkan subtitle ke GIF animasi tanpa memengaruhi kecepatan animasinya?
Ya. Watermark diterapkan pada setiap frame sambil mempertahankan jeda frame asli. Cukup setelpageRangeke"1-"sehingga setiap frame menerima overlay yang sama.Format apa yang didukung untuk warna teks overlay?
SDK menerima kode warna HEX (mis.,#FF0000) dan nama warna standar HTML . Lihat referensi API untuk daftar lengkap.Apakah saya memerlukan lisensi untuk pengembangan dan pengujian?
Lisensi sementara sudah cukup untuk evaluasi dan pengujian. Untuk penyebaran produksi, beli lisensi penuh dari halaman produk dan terapkan menggunakan API lisensi SDK.
