إذا كان لديك مستند وتريد استخدام الصور الموجودة داخل هذا المستند في بعض المستندات الأخرى ، فإليك أحد الحلول. في هذه المقالة ، سنتعلم كيفية استخراج الصور برمجيًا من مستندات PDF و Excel و PowerPoint و Word باستخدام Java.

استخراج الصور من المستندات في Java

استخراج الصور Java API

تحليل المستندات واستخراج البيانات في Java

لاستخراج الصور ، سنستخدم GroupDocs.Parser for Java. تدعم Java API تحليل المستندات واستخراج الصور والنصوص والبيانات الوصفية من مستندات معالجة الكلمات وجداول البيانات والعروض التقديمية والمحفوظات ومستندات البريد الإلكتروني. فيما يلي تنسيقات المستندات التي تدعمها Java API لاستخراج الصور.

نوع الوثيقة تنسيقات الملفات
مستندات معالجة الكلمات DOC ، DOCX ، DOCM ، DOT ، DOTX ، DOTM ، ODT ، OTT ، RTF
جداول البيانات XLS، XLSX، XLSM، XLSB، XLT، XLTX، XLTM، ODS، OTS، XLA، XLAM، أرقام
العروض التقديمية PPT ، PPTX ، PPTM ، PPS ، PPSX ، PPSM ، POT ، POTX ، POTM ، ODP ، OTP
المستندات المحمولة PDF
رسائل البريد الإلكتروني EML ، EMLX ، MSG
المحفوظات ZIP

قبل أن تبدأ بالأمثلة أدناه ، أوصي بإعداد البيئة عن طريق تنزيل أحدث إصدار من تحليل المستندات Java API من قسم التنزيلات أو يمكنك تعيين التكوينات التالية في تطبيقات java القائمة على المخضرمين:

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

استخراج الصور من مستندات PDF في Java

وثيقة PDF لاستخراج الصور

اتبع هذه الخطوات البسيطة للحصول على جميع الصور من مستند PDF.

  1. إنشاء كائن فئة محلل.
  2. استدعاء getImages طريقة فئة المحلل اللغوي للحصول على جميع الصور.
  3. كرر على الصور باستخدام PageImageArea.
  4. حفظ الصور باستخدام طريقة حفظ PageImageArea.

تم التنفيذ. انظر إلى الكود الكامل أدناه. يمكن حفظ الصور المستخرجة بتنسيقات BMP و GIF و JPEG و PNG و WebP.

// استخراج الصور من مستندات Word و Excel و PowerPoint و PDF برمجيًا باستخدام GroupDocs.Parser for Java
try (Parser parser = new Parser("path/document.pdf")) {
	// استخراج الصور
	Iterable<PageImageArea> images = parser.getImages();

	// قم بإنشاء الخيارات لحفظ الصور بتنسيق PNG
	ImageOptions options = new ImageOptions(ImageFormat.Png);
	int imageNumber = 0;

	// كرر على الصور واحفظ
	for (PageImageArea image : images) {
		// اطبع فهرس الصفحة ونوع ملف المستطيل والصورة:
		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++;
	}
}

هذه هي الصور المسترجعة من وثيقة PDF باستخدام الكود أعلاه.

الصور المستخرجة من المستند باستخدام Java

استخراج الصور من ملفات Word و Excel و PowerPoint بجافا

وبالمثل ، يمكن إخراج جميع الصور من ملفات معالجة الكلمات وجداول البيانات والعروض التقديمية مع قاعدة التعليمات البرمجية غير المتغيرة. ما الذي يجب عليك تغييره؟ فقط مسار المستند المصدر وامتداد الملف الصحيح.

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

استخراج الصور من صفحة وثيقة معينة في Java

إذا كنت لا ترغب في استخراج جميع الصور من المستند بأكمله ولكن من صفحة معينة. يوضح الكود أدناه كيف يمكننا استخراج الصور من صفحة معينة من المستند في Java.

// استخراج الصور من صفحة محددة من Word و Excel و PowerPoint و PDF في Java باستخدام GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
	// احصل على معلومات الوثيقة
	IDocumentInfo documentInfo = parser.getDocumentInfo();

	// قم بإنشاء الخيارات لحفظ الصور بتنسيق PNG
	ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
	int imageNumber = 0;

	// كرر عبر الصفحات
	for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
		// طباعة أرقام الصفحات
		System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));

		// التكرار فوق الصور - تجاهل التحقق من القيمة الفارغة في الأمثلة
		for (PageImageArea image : parser.getImages(pageIndex)) {
			// طباعة معلومات الصورة وحفظ الملف
			System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
			image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
			imageNumber++;
		}
	}
}

استنتاج

اليوم ، تعلمنا كيفية استخراج الصور من المستند بأكمله ، والصفحة المحددة لمستندات معالجة الكلمات وجداول البيانات والعروض التقديمية و PDF في Java. لا يوجد فرق في الكود إذا كان علينا استخراج الصور من الملفات ذات تنسيقات الملفات المختلفة. علينا فقط اجتياز الطريق الصحيح والاسم. هذا هو.

أنظر أيضا