إدارة العلامات والبيانات المخصصة في العروض التقديمية باستخدام Java
تخزين البيانات في ملفات العرض
تُخزن ملفات PPTX—العناصر ذات الامتداد .pptx—في تنسيق PresentationML، وهو جزء من مواصفة Office Open XML. يعرّف تنسيق Office Open XML بنية البيانات المتضمنة في العروض التقديمية.
مع اعتبار الشريحة أحد عناصر العروض التقديمية، يحتوي جزء الشريحة على محتوى شريحة واحدة. يُسمح لجزء الشريحة بأن يكون له علاقات صريحة مع العديد من الأجزاء—مثل العلامات المعرفة من قبل المستخدم—المحددة في ISO/IEC 29500.
يمكن أن توجد البيانات المخصصة (الخاصة بعرض تقديمي) أو المستخدم كعلامات (ITagCollection) وCustomXmlParts (ICustomXmlPartCollection).
الحصول على قيم العلامات
في الشرائح، تتطابق العلامة مع طرق IDocumentProperties.getKeywords() وIDocumentProperties.setKeywords(). يوضح هذا النموذج البرمجي كيفية الحصول على قيمة علامة باستخدام Aspose.Slides للغة Java لــ Presentation:
Presentation pres = new Presentation("pres.pptx");
try{
String keywords = pres.getDocumentProperties().getKeywords();
} finally {
if (pres != null) pres.dispose();
}
إضافة علامات إلى العروض التقديمية
يتيح لك Aspose.Slides إضافة علامات إلى العروض الت تقديمية. تتكوّن العلامة عادةً من عنصرين:
- اسم الخاصية المخصصة -
MyTag - قيمة الخاصية المخصصة -
My Tag Value
إذا كنت تحتاج إلى تصنيف بعض العروض بناءً على قاعدة أو خاصية محددة، فقد تستفيد من إضافة علامات إلى تلك العروض. على سبيل المثال، إذا أردت تجميع جميع العروض من دول أمريكا الشمالية معًا، يمكنك إنشاء علامة أمريكا الشمالية ثم تعيين الدول ذات الصلة (الولايات المتحدة، المكسيك، وكندا) كقيم.
يظهر هذا النموذج البرمجي كيفية إضافة علامة إلى Presentation باستخدام Aspose.Slides للغة Java:
Presentation pres = new Presentation("pres.pptx");
try {
ITagCollection tags = pres.getCustomData().getTags();
pres.getCustomData().getTags().set_Item("MyTag", "My Tag Value");
} finally {
if (pres != null) pres.dispose();
}
يمكن أيضًا تعيين العلامات لـ Slide:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
slide.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) pres.dispose();
}
أو لأي شكل فردي Shape:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 10, 10, 100, 50);
shape.getTextFrame().setText("My text");
shape.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) pres.dispose();
}
الأسئلة المتكررة
هل يمكنني إزالة جميع العلامات من عرض تقديمي أو شريحة أو شكل في عملية واحدة؟
نعم. يدعم مجموعة العلامات عملية clear التي تحذف جميع أزواج المفتاح‑القيمة مرة واحدة.
كيف أحذف علامة واحدة باسمها دون التجول عبر المجموعة بأكملها؟
استخدم العملية Remove(name) على مجموعة العلامات لحذف العلامة بمفتاحها.
كيف يمكنني استرجاع القائمة الكاملة لأسماء العلامات للتحليل أو التصفية؟
استخدم getNamesOfTags على مجموعة العلامات; تُرجع مصفوفة بجميع أسماء العلامات.