Jika Anda memiliki dokumen dan ingin menggunakan gambar di dalam dokumen itu di beberapa dokumen lain, inilah salah satu solusinya. Pada artikel ini, kita akan belajar mengekstrak gambar secara terprogram dari dokumen PDF, Excel, PowerPoint, dan Word menggunakan Java.

Ekstrak Gambar dari Dokumen di Java

Ekstraksi Gambar Java API

Parsing Dokumen dan Ekstrak Data di Java

Untuk ekstraksi gambar, kita akan menggunakan GroupDocs.Parser for Java. Java API ini mendukung penguraian dokumen dan ekstraksi gambar, teks, dan metadata dari dokumen pengolah kata, spreadsheet, presentasi, arsip, dan dokumen email. Berikut ini adalah format dokumen yang didukung oleh Java API untuk ekstraksi gambar.

Jenis Dokumen Format File
Dokumen Pengolah Kata DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF
Spreadsheet XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, ANGKA
Presentasi PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP
Dokumen Portabel PDF
Email EML, EMLX, MSG
Arsip ZIP

Sebelum Anda memulai dengan contoh-contoh di bawah ini, saya akan merekomendasikan untuk menyiapkan lingkungan dengan mengunduh versi terbaru dari penguraian dokumen Java API dari bagian unduhan atau Anda dapat mengatur konfigurasi berikut dalam aplikasi java berbasis maven Anda:

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>20.8</version> 
</dependency>

Ekstrak Gambar dari Dokumen PDF di Java

Dokumen PDF untuk Mengekstrak Gambar

Ikuti langkah-langkah sederhana ini untuk mendapatkan semua gambar dari dokumen PDF.

  1. Membuat instance objek kelas Parser.
  2. Panggil metode getImages dari kelas Parser untuk mendapatkan semua gambar.
  3. Ulangi gambar menggunakan PageImageArea.
  4. Simpan gambar menggunakan metode simpan PageImageArea.

Selesai. Lihat kode lengkap di bawah ini. Gambar yang diekstraksi dapat disimpan dalam format BMP, GIF, JPEG, PNG, dan WebP.

// Ekstrak Gambar dari Dokumen Word, Excel, PowerPoint, PDF Secara terprogram menggunakan GroupDocs.Parser for Java
try (Parser parser = new Parser("path/document.pdf")) {
	// Ekstrak gambar
	Iterable<PageImageArea> images = parser.getImages();

	// Buat opsi untuk menyimpan gambar dalam format PNG
	ImageOptions options = new ImageOptions(ImageFormat.Png);
	int imageNumber = 0;

	// Ulangi gambar dan Simpan
	for (PageImageArea image : images) {
		// Cetak indeks halaman, persegi panjang, dan jenis file gambar:
		System.out.println(String.format("Page: %d, R: %s, Type: %s", image.getPage().getIndex(), 
				image.getRectangle(), image.getFileType()));
		image.save(String.format("filesPath/image_%d.png", imageNumber), options);
		imageNumber++;
	}
}

Ini adalah gambar yang diambil dari dokumen PDF menggunakan kode di atas.

Mengekstrak Gambar dari Dokumen menggunakan Java

Ekstrak Gambar dari File Word, Excel, PowerPoint di Java

Demikian pula, semua gambar dapat diambil dari file pengolah kata, spreadsheet, presentasi, dengan basis kode yang tidak berubah. Apa yang harus Anda ubah? Hanya jalur dokumen sumber dan ekstensi file yang tepat.

Parser parser = new Parser("path/document.docx") // Word Document
// Parser parser = new Parser("path/document.xlsx") // Excel Spreadsheet
// Parser parser = new Parser("path/document.pptx") // PowerPoint Presentation
// Parser parser = new Parser("path/document.pdf") // PDF Document

Ekstraksi Gambar dari Halaman Dokumen Tertentu di Java

Jika Anda tidak ingin mengekstrak semua gambar dari seluruh dokumen tetapi dari beberapa halaman tertentu. Kode di bawah ini menunjukkan bagaimana kita dapat mengekstrak gambar dari halaman tertentu dari dokumen di Java.

// Ekstrak Gambar dari halaman tertentu Word, Excel, PowerPoint, PDF di Java menggunakan GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
	// Dapatkan info dokumen
	IDocumentInfo documentInfo = parser.getDocumentInfo();

	// Buat opsi untuk menyimpan gambar dalam format PNG
	ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
	int imageNumber = 0;

	// Ulangi halaman
	for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
		// Cetak Nomor Halaman
		System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));

		// Ulangi gambar - Mengabaikan NULL-Memeriksa dalam contoh
		for (PageImageArea image : parser.getImages(pageIndex)) {
			// Cetak Informasi Gambar dan Simpan file
			System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
			image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
			imageNumber++;
		}
	}
}

Kesimpulan

Hari ini, kita belajar cara mengekstrak gambar dari seluruh dokumen, dan halaman khusus dokumen pengolah kata, spreadsheet, presentasi, dan PDF di Java. Tidak ada perbedaan kode jika kita harus mengekstrak gambar dari file dengan format file yang berbeda. Kami hanya harus melewati jalan dan nama yang benar. Itu dia.

Lihat juga