العمل مع خصائص المستند

تسمح خصائص المستند بتخزين بعض المعلومات المفيدة حول المستند. يمكن تقسيم هذه الخصائص إلى مجموعتين:

  • نظام أو مدمج يحتوي على قيم مثل عنوان المستند واسم المؤلف وإحصائيات المستند وغيرها.
  • المعرفة من قبل المستخدم أو العرف، كما قدمت أزواج اسم القيمة حيث يمكن للمستخدم تحديد كل من الاسم والقيمة.

من المفيد معرفة أن المعلومات حول API ورقم الإصدار مكتوبة مباشرة إلى مستندات الإخراج. على سبيل المثال، عند تحويل مستند إلى PDF، يملأ Aspose.Words حقل “التطبيق” بـ “Aspose.Words”، وحقل “PDF المنتج” بـ “Aspose.Words لـ Java YY.م. ن “، حيث YY.M.N هي نسخة Aspose.Words المستخدمة للتحويل. لمزيد من التفاصيل، انظر اسم المولد أو المنتج المضمن في مستندات الإخراج.

الوصول إلى خصائص المستند

للوصول إلى خصائص المستند في Aspose.Words استخدم:

BuiltInDocumentProperties

BuiltInDocumentProperties

تتيح لك فئة DocumentProperty الحصول على اسم وقيمة ونوع خاصية المستند. [القيمة]https://reference.aspose.com/words/java/com.aspose.words/documentproperty#Value) إرجاع كائن، ولكن هناك مجموعة من الأساليب التي تسمح لك للحصول على قيمة الخاصية تحويلها إلى نوع معين. بعد التعرف على نوع الخاصية، يمكنك استخدام إحدى طرق DocumentProperty.ToXXX، مثل DocumentProperty.ToString و DocumentProperty.ToInt، للحصول على قيمة النوع المناسب.

يوضح مثال التعليمات البرمجية التالية كيفية تعداد كافة الخصائص المضمنة والمخصصة في مستند:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
String fileName = dataDir + "Properties.doc";
Document doc = new Document(fileName);
System.out.println("1. Document name: " + fileName);
System.out.println("2. Built-in Properties");
for (DocumentProperty prop : doc.getBuiltInDocumentProperties())
System.out.println(prop.getName() + " : " + prop.getValue());
System.out.println("3. Custom Properties");
for (DocumentProperty prop : doc.getCustomDocumentProperties())
System.out.println(prop.getName() + " : " + prop.getValue());

في Microsoft Word، يمكنك الوصول إلى خصائص المستند باستخدام قائمة “ملف Properties خصائص”.

work-with-document-properties-aspose-words-java.png

إضافة أو إزالة خصائص المستند

لا يمكنك إضافة أو إزالة خصائص المستند المضمنة باستخدام Aspose.Words. يمكنك فقط تغيير أو تحديث قيمها.

لإضافة خصائص وثيقة مخصصة مع Aspose.Words، استخدم طريقة Add، وتمرير اسم الخاصية الجديدة وقيمة النوع المناسب. تقوم الطريقة بإرجاع الكائن DocumentProperty الذي تم إنشاؤه حديثا.

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

يتحقق مثال الكود التالي مما إذا كانت خاصية مخصصة باسم معين موجودة في مستند ويضيف بعض خصائص المستند المخصصة الأخرى:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Properties.doc");
CustomDocumentProperties props = doc.getCustomDocumentProperties();
if (props.get("Authorized") == null) {
props.add("Authorized", true);
props.add("Authorized By", "John Smith");
props.add("Authorized Date", new Date());
props.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
props.add("Authorized Amount", 123.45);
}

يوضح مثال التعليمات البرمجية التالية كيفية إزالة خاصية مستند مخصص:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Properties.doc");
doc.getCustomDocumentProperties().remove("Authorized Date");

تحديث خصائص المستند المضمنة

لا يقوم Aspose.Words بتحديث خصائص المستند تلقائيا، كما يفعل Microsoft Word مع بعض الخصائص، ولكنه يوفر طريقة لتحديث بعض خصائص المستند المضمنة الإحصائية. استدعاء طريقة UpdateWordCount لإعادة حساب وتحديث الخصائص التالية:

إنشاء خاصية مخصصة جديدة مرتبطة بالمحتوى

Aspose.Words يوفر طريقة AddLinkToContent لإنشاء خاصية مستند مخصص جديدة مرتبطة بالمحتوى. تقوم هذه الخاصية بإرجاع كائن الخاصية الذي تم إنشاؤه حديثا أو لاغية إذا كان LinkSource غير صالح.

يوضح مثال التعليمات البرمجية التالية كيفية تكوين ارتباط إلى خاصية مخصصة:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "test.docx");
// Retrieve a list of all custom document properties from the file.
CustomDocumentProperties customProperties = doc.getCustomDocumentProperties();
// Add linked to content property.
DocumentProperty customProperty = customProperties.addLinkToContent("PropertyName", "BookmarkName");
// Also, accessing the custom document property can be performed by using the
// property name.
customProperty = customProperties.get("PropertyName");
// Check whether the property is linked to content.
boolean isLinkedToContent = customProperty.isLinkToContent();
// Get the source of the property.
String source = customProperty.getLinkSource();
// Get the value of the property.
String value = customProperty.getValue().toString();

احصل على متغيرات المستند

يمكنك الحصول على مجموعة من متغيرات المستند باستخدام خاصية Variables. أسماء المتغيرات والقيم هي سلاسل.

يوضح مثال الكود التالي كيفية تعداد متغيرات المستند:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Document.doc");
for (java.util.Map.Entry entry : doc.getVariables()) {
String name = entry.getKey().toString();
String value = entry.getValue().toString();
// Do something useful.
System.out.println("Name: " + name + ", Value: " + value);
}

إزالة المعلومات الشخصية من المستند

إذا كنت ترغب في مشاركة مستند ورد مع أشخاص آخرين، فقد ترغب في إزالة المعلومات الشخصية مثل اسم المؤلف والشركة. للقيام بذلك، استخدم خاصية RemovePersonalInformation لتعيين العلامة التي تشير إلى أن Microsoft Word ستزيل جميع معلومات المستخدم من التعليقات والمراجعات وخصائص المستند عند حفظ المستند.