قراءة البيانات التعريفية من PPTX باستخدام Java

في العصر الرقمي الحالي، أصبح فهم التفاصيل داخل الملفات أمرًا مهمًا للغاية. تحتوي البيانات الوصفية، وهي المخزن المخفي للمعلومات داخل المستندات الرقمية، على رؤى قيمة جاهزة للاكتشاف. من بين تنسيقات الملفات العديدة، يبرز PPTX كتنسيق عرض تقديمي مستخدم على نطاق واسع ومملوء ببيانات وصفية غنية وجاهزة للاستكشاف. تدخل هذه المقالة في مجال البرمجة للكشف عن تقنيات كيفية قراءة البيانات الوصفية من PPTX باستخدام Java. فيما يلي الخطوات جنبًا إلى جنب مع التعليمات البرمجية لقراءة البيانات التعريفية لـ PPTX باستخدام Java.

خطوات قراءة البيانات التعريفية من PPTX باستخدام Java

  1. قم بتكوين بيئة الترميز الخاصة بك لاستخدام GroupDocs.Metadata for Java للحصول على معلومات من ملفات PPTX
  2. قم بإنشاء مثيل للفئة Metadata، وتمرير مسار الملف لملف PPTX كوسيطة إلى منشئه
  3. قم بتعيين إرشادات للتحقق من جميع تفاصيل البيانات الوصفية التي تم جمعها
  4. حدد شرطًا للأسلوب Metadata.findProperties
  5. قم بالتكرار من خلال جميع الخصائص التي جمعتها بشكل فردي

يمكن وصف البيانات الوصفية بأنها معلومات حول بيانات أخرى، بما في ذلك تفاصيل مثل التأليف وتواريخ الإنشاء والتعديل والمزيد. بالنسبة لملفات PPTX، تكشف البيانات التعريفية عن رؤى مهمة حول العروض التقديمية، مثل أصولها ومراجعاتها ومحتواها الهيكلي. لاستخراج البيانات التعريفية من ملفات PPTX، نستخدم Java، وهي لغة برمجة قوية ومتعددة الاستخدامات، بالإضافة إلى GroupDocs.Metadata، وهي مكتبة قوية للتعامل مع البيانات التعريفية في تطبيقات Java. تعمل هذه المكتبة على تبسيط الوصول إلى البيانات التعريفية وإدارتها عبر تنسيقات الملفات المختلفة، بما في ذلك PPTX. يوضح مثال التعليمات البرمجية التالي كيفية استخراج البيانات التعريفية لـ PPTX في Java.

رمز لقراءة البيانات الوصفية من PPTX باستخدام Java

import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.FileFormat;
import com.groupdocs.metadata.core.IReadOnlyList;
import com.groupdocs.metadata.core.MetadataProperty;
import com.groupdocs.metadata.core.MetadataPropertyType;
import com.groupdocs.metadata.licensing.License;
import com.groupdocs.metadata.search.FallsIntoCategorySpecification;
import com.groupdocs.metadata.search.OfTypeSpecification;
import com.groupdocs.metadata.search.Specification;
import com.groupdocs.metadata.tagging.Tags;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReadMetadataFromPPTXUsingJava {
public static void main(String[] args) {
// Set License to avoid the limitations of Metadata library
License license = new License();
license.setLicense("GroupDocs.Metadata.lic");
Metadata metadata = new Metadata("input.pptx");
if (metadata.getFileFormat() != FileFormat.Unknown && !metadata.getDocumentInfo().isEncrypted()) {
System.out.println();
// Fetch all metadata properties that fall into a particular category
IReadOnlyList<MetadataProperty> properties = metadata.findProperties(new FallsIntoCategorySpecification(Tags.getContent()));
System.out.println("The metadata properties describing some characteristics of the file content: title, keywords, language, etc.");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties having a specific type and value
int year = Calendar.getInstance().get(Calendar.YEAR);
properties = metadata.findProperties(new OfTypeSpecification(MetadataPropertyType.DateTime).and(new ReadMetadataFromPPTXUsingJava().new YearMatchSpecification(year)));
System.out.println("All datetime properties with the year value equal to the current year");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties whose names match the specified regex
Pattern pattern = Pattern.compile("^author|company|(.+date.*)$", Pattern.CASE_INSENSITIVE);
properties = metadata.findProperties(new ReadMetadataFromPPTXUsingJava().new RegexSpecification(pattern));
System.out.println(String.format("All properties whose names match the following regex: %s", pattern.pattern()));
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
}
}
// Define your own specifications to filter metadata properties
public class YearMatchSpecification extends Specification {
public YearMatchSpecification(int year) {
setValue(year);
}
public final int getValue() {
return auto_Value;
}
private void setValue(int value) {
auto_Value = value;
}
private int auto_Value;
public boolean isSatisfiedBy(MetadataProperty candidate) {
Date date = candidate.getValue().toClass(Date.class);
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return getValue() == calendar.get(Calendar.YEAR);
}
return false;
}
}
public class RegexSpecification extends Specification {
private Pattern pattern;
public RegexSpecification(Pattern pattern) {
this.pattern = pattern;
}
@Override
public boolean isSatisfiedBy(MetadataProperty metadataProperty) {
Matcher matcher = pattern.matcher(metadataProperty.getName());
return matcher.find();
}
}
}

باتباع التعليمات المقدمة، يمكنك الحصول على بيانات تعريف PPTX في Java على الأنظمة المستخدمة على نطاق واسع مثل Windows وmacOS وLinux، بافتراض تثبيت Java. لا توجد عمليات تثبيت برامج إضافية ضرورية. باختصار، يعد استكشاف البيانات التعريفية المخفية داخل ملفات PPTX باستخدام Java مسعى قيمًا. ومن خلال الاستفادة من إمكانات المكتبة المقترحة وتعدد استخدامات Java، يمكن للمطورين الكشف عن رؤى مهمة مخبأة داخل العروض التقديمية الرقمية. بمجرد قيامك بتكوين المكتبة الموصى بها وتعديل مسارات الملفات وفقًا لذلك، يجب أن يتم دمج التعليمات البرمجية التالية في مشاريعك بسلاسة دون أي تعقيدات.

خلال مناقشتنا السابقة، قدمنا دليلاً متعمقًا حول استخراج البيانات التعريفية من ملفات XLSX باستخدام Java. للحصول على فهم أكثر شمولاً لهذا الموضوع، نوصي بالرجوع إلى برنامجنا التعليمي الشامل حول كيفية قراءة البيانات التعريفية من XLSX باستخدام Java.

 عربي