Mengekstrak gambar dari PDF adalah kebutuhan yang sering muncul saat membangun pipeline pemrosesan dokumen, terutama ketika Anda perlu menggunakan kembali grafik untuk thumbnail, laporan, atau analisis lebih lanjut. GroupDocs.Parser Cloud SDK for Java menyediakan API yang sederhana yang memungkinkan Anda mengambil setiap gambar yang disematkan dalam PDF hanya dengan beberapa baris kode. Panduan ini memandu Anda melalui konfigurasi SDK, menjalankan contoh kode lengkap, menggunakan cURL untuk tugas yang sama, dan menerapkan praktik terbaik untuk memastikan ekstraksi gambar PDF yang andal.

Ekstrak Gambar dari Dokumen PDF di Java dalam 5 Langkah

  1. Konfigurasikan kredensial API: Buat objek Configuration dan atur client ID serta secret Anda.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
  1. Inisialisasi Parser API: Bangun sebuah ApiClient dengan konfigurasi dan buat instance ParserApi.
ApiClient apiClient = new ApiClient(config);
ParserApi parserApi = new ParserApi(apiClient);
  1. Bangun permintaan ekstraksi gambar: Tentukan jalur file PDF menggunakan FileInfo dan buat sebuah ExtractImagesRequest.
String inputFilePath = "input.pdf";
ExtractImagesRequest request = new ExtractImagesRequest()
        .setFileInfo(new FileInfo().setFilePath(inputFilePath));
  1. Eksekusi ekstraksi dan ambil gambar: Panggil extractImages dan dapatkan daftar objek Image.
ImagesResult imagesResult = parserApi.extractImages(request);
List<Image> images = imagesResult.getImages();
  1. Simpan setiap gambar ke penyimpanan lokal: Loop melalui koleksi dan tulis data biner ke file.
for (int i = 0; i < images.size(); i++) {
    Image img = images.get(i);
    String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
    try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
        fos.write(img.getData());
    }
    System.out.println("Saved image: " + outputFileName);
}

Untuk detail lebih lanjut tentang setiap kelas, lihat referensi API resmi.

Contoh Kode Lengkap: Ekstrak Gambar dari Dokumen PDF di Java Menggunakan GroupDocs.Parser

Contoh berikut menunjukkan alur kerja lengkap mulai dari penyiapan kredensial hingga penyimpanan gambar.

import com.groupdocs.parser.cloud.ApiClient;
import com.groupdocs.parser.cloud.Configuration;
import com.groupdocs.parser.cloud.api.ParserApi;
import com.groupdocs.parser.cloud.model.FileInfo;
import com.groupdocs.parser.cloud.model.Image;
import com.groupdocs.parser.cloud.model.ImagesResult;
import com.groupdocs.parser.cloud.model.requests.ExtractImagesRequest;

import java.io.FileOutputStream;
import java.util.List;

public class ExtractImagesFromPdf {
    public static void main(String[] args) {
        // Configure API credentials
        Configuration config = new Configuration();
        config.setClientId("YOUR_CLIENT_ID");
        config.setClientSecret("YOUR_CLIENT_SECRET");
        // config.setBaseUrl("https://api.groupdocs.cloud"); // optional, if needed

// Initialize API client and Parser API
        ApiClient apiClient = new ApiClient(config);
        ParserApi parserApi = new ParserApi(apiClient);

// Path to the PDF file stored in GroupDocs Cloud storage
        String inputFilePath = "input.pdf";

// Build request for image extraction
        ExtractImagesRequest request = new ExtractImagesRequest()
                .setFileInfo(new FileInfo().setFilePath(inputFilePath));

try {
            // Perform extraction
            ImagesResult imagesResult = parserApi.extractImages(request);
            List<Image> images = imagesResult.getImages();

// Save each extracted image to local disk
            for (int i = 0; i < images.size(); i++) {
                Image img = images.get(i);
                String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
                try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
                    fos.write(img.getData());
                }
                System.out.println("Saved image: " + outputFileName);
            }
        } catch (Exception e) {
            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 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.

Ekstraksi Gambar PDF via cURL dan REST API

Anda dapat mencapai hasil yang sama tanpa menulis kode Java dengan memanggil endpoint REST GroupDocs.Parser Cloud secara langsung.

  1. Dapatkan token akses
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Unggah file PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input.pdf" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -F "file=@/path/to/input.pdf"
  1. Minta ekstraksi gambar
curl -X POST "https://api.groupdocs.cloud/v2.0/parser/extractImages" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"fileInfo": {"filePath": "input.pdf"}}'
  1. Unduh gambar yang diekstrak (respons berisi data base64; Anda dapat mendekodenya secara lokal)

Untuk daftar lengkap parameter, lihat dokumentasi API resmi.

Menginstal dan Mengonfigurasi GroupDocs.Parser Cloud SDK for Java

Tambahkan dependensi Maven ke pom.xml Anda (atau potongan Gradle yang setara).

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser-cloud</artifactId>
    <version>26.2</version>
</dependency>

SDK disediakan sebagai pustaka cloud; tidak diperlukan binary lokal. Unduh paket terbaru dari halaman rilis. Pastikan Anda memiliki Java 8 atau lebih tinggi dan akun GroupDocs Cloud yang valid dengan client ID dan secret.

GroupDocs.Parser Cloud SDK for Java Fitur yang Memungkinkan Pengambilan Gambar

  • Ekstraksi gambar PDF lengkap - Mengambil setiap gambar raster dan vektor yang disematkan dalam dokumen.
  • Metadata untuk setiap gambar - Mengembalikan nama file, ukuran, format, dan nomor halaman.
  • Dukungan untuk semua format gambar umum - PNG, JPG, BMP, GIF, TIFF, dan lainnya.
  • Integrasi penyimpanan cloud - Bekerja langsung dengan file yang disimpan di GroupDocs Cloud tanpa harus mengunduhnya terlebih dahulu.
  • Pemrosesan berbasis REST yang dapat diskalakan - Menangani PDF besar dan beban kerja volume tinggi melalui API cloud.

Pengaturan Penyempurnaan Ekstraksi Gambar

Meskipun permintaan dasar sudah berfungsi langsung, Anda dapat menyesuaikan opsi seperti:

  • Proteksi kata sandi - Setel properti password pada FileInfo untuk PDF yang terenkripsi.
  • Rentang halaman - Batasi ekstraksi ke halaman tertentu dengan menambahkan array pages ke JSON permintaan.
  • Konversi format gambar - Minta konversi ke format lain dengan menentukan jenis output yang diinginkan dalam permintaan (lihat referensi API untuk bidang yang tepat).

Contoh mengatur kata sandi (diambil dari kode utama):

FileInfo fileInfo = new FileInfo()
        .setFilePath("protected.pdf")
        .setPassword("mySecret");

Tips Praktis untuk Ekstraksi Gambar PDF yang Efisien

  • Validasi keberadaan file sebelum mengirim permintaan untuk menghindari panggilan API yang tidak perlu.
  • Proses gambar dalam aliran saat menangani file besar untuk mengurangi konsumsi memori.
  • Gunakan paginasi jika Anda hanya membutuhkan gambar dari halaman tertentu; ini mempercepat respons.
  • Tangani batas kecepatan API dengan menerapkan penundaan eksponensial pada respons HTTP 429.
  • Catat nama setiap file yang disimpan untuk mempermudah pemecahan masalah dan jejak audit.

Kesimpulan

Men­ek­strak gambar dari dokumen PDF di Java menjadi tugas yang sederhana dan dapat diandalkan ketika Anda memanfaatkan kekuatan GroupDocs.Parser Cloud SDK for Java. SDK menangani manajemen kredensial, interaksi penyimpanan cloud, dan decoding gambar, memungkinkan Anda fokus pada logika aplikasi Anda. Untuk penyebaran produksi, beli lisensi yang tepat di halaman harga atau dapatkan lisensi sementara untuk evaluasi. Dengan contoh kode, panduan cURL, dan rekomendasi praktik terbaik dalam artikel ini, Anda siap mengintegrasikan ekstraksi gambar PDF ke dalam solusi berbasis Java apa pun.

FAQ

  • Format apa yang dapat diekstrak dari PDF?
    SDK mengekstrak format raster seperti PNG, JPG, BMP, GIF, dan TIFF, serta grafik vektor ketika disimpan sebagai gambar.

  • Apakah saya perlu mengunduh PDF sebelum mengekstrak gambar?
    Tidak. SDK bekerja langsung dengan file yang disimpan di penyimpanan GroupDocs Cloud, menghilangkan kebutuhan untuk mengunduh secara lokal.

  • Bagaimana SDK menangani PDF besar?
    Ekstraksi dilakukan di sisi server, sehingga penggunaan memori pada mesin Anda tetap rendah. Anda juga dapat membatasi ekstraksi ke halaman tertentu untuk meningkatkan kinerja.

  • Apakah ada cara untuk menguji ekstraksi tanpa menulis kode?
    Ya, Anda dapat menggunakan perintah cURL yang disediakan di atas atau mencoba konsol API interaktif di halaman produk.

Baca Selengkapnya