ทำงานกับคุณสมบัติเอกสาร
คุณสมบัติเอกสารช่วยให้สามารถจัดเก็บข้อมูลที่เป็นประโยชน์เกี่ยวกับเอกสารของคุณได้ คุณสมบัติเหล่านี้สามารถแบ่งออกเป็นสองกลุ่ม:
- ระบบหรือบิวด์อินที่มีค่าต่างๆ เช่น ชื่อเอกสาร ชื่อผู้เขียน สถิติเอกสาร และอื่นๆ
- ผู้ใช้กำหนดหรือกำหนดเอง โดยระบุเป็นคู่ของชื่อ-ค่า ซึ่งผู้ใช้สามารถกำหนดทั้งชื่อและค่าได้
มีประโยชน์ที่จะทราบว่าข้อมูลเกี่ยวกับ API และหมายเลขเวอร์ชันถูกเขียนโดยตรงไปยังเอกสารเอาท์พุต ตัวอย่างเช่น เมื่อแปลงเอกสารเป็น PDF แล้ว Aspose.Words จะเติมในช่อง “Application” ด้วย “Aspose.Words” และช่อง “PDF Producer” ด้วย “Aspose.Words สำหรับ .NET YY.MN” โดยที่ YY.M.N คือเวอร์ชันของ Aspose.Words ที่ใช้สำหรับการแปลง. สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ ชื่อตัวสร้างหรือผู้ผลิตรวมอยู่ในเอกสารเอาต์พุต
เข้าถึงคุณสมบัติเอกสาร
หากต้องการเข้าถึงคุณสมบัติของเอกสารใน Aspose.Words ให้ใช้:
-
BuiltInDocumentProperties เพื่อรับคุณสมบัติในตัว
-
CustomDocumentProperties เพื่อรับคุณสมบัติที่กำหนดเอง
BuiltInDocumentProperties และ CustomDocumentProperties เป็นคอลเลกชันของวัตถุ DocumentProperty วัตถุเหล่านี้สามารถรับได้ผ่านคุณสมบัติตัวสร้างดัชนีตามชื่อหรือตามดัชนี
BuiltInDocumentProperties ยังให้สิทธิ์เข้าถึงคุณสมบัติของเอกสารผ่านชุดคุณสมบัติที่ป้อนซึ่งส่งคืนค่าประเภทที่เหมาะสม CustomDocumentProperties ช่วยให้คุณสามารถเพิ่มหรือลบคุณสมบัติของเอกสารออกจากเอกสารได้
คลาส 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-.NET | |
string fileName = dataDir + "Properties.doc"; | |
Document doc = new Document(fileName); | |
Console.WriteLine("1. Document name: {0}", fileName); | |
Console.WriteLine("2. Built-in Properties"); | |
foreach (DocumentProperty prop in doc.BuiltInDocumentProperties) | |
Console.WriteLine("{0} : {1}", prop.Name, prop.Value); | |
Console.WriteLine("3. Custom Properties"); | |
foreach (DocumentProperty prop in doc.CustomDocumentProperties) | |
Console.WriteLine("{0} : {1}", prop.Name, prop.Value); |
ใน Microsoft Word คุณสามารถเข้าถึงคุณสมบัติของเอกสารได้โดยใช้เมนู “ไฟล์ → คุณสมบัติ”

เพิ่มหรือลบคุณสมบัติเอกสาร
คุณไม่สามารถเพิ่มหรือลบคุณสมบัติเอกสารในตัวโดยใช้ 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-.NET | |
Document doc = new Document(dataDir + "Properties.doc"); | |
CustomDocumentProperties props = doc.CustomDocumentProperties; | |
if (props["Authorized"] == null) | |
{ | |
props.Add("Authorized", true); | |
props.Add("Authorized By", "John Smith"); | |
props.Add("Authorized Date", DateTime.Today); | |
props.Add("Authorized Revision", doc.BuiltInDocumentProperties.RevisionNumber); | |
props.Add("Authorized Amount", 123.45); | |
} |
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบคุณสมบัติเอกสารแบบกำหนดเอง:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
Document doc = new Document(dataDir + "Properties.doc"); | |
doc.CustomDocumentProperties.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-.NET | |
Document doc = new Document(dataDir + "test.docx"); | |
// Retrieve a list of all custom document properties from the file. | |
CustomDocumentProperties customProperties = doc.CustomDocumentProperties; | |
// 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["PropertyName"]; | |
// Check whether the property is linked to content. | |
bool isLinkedToContent = customProperty.IsLinkToContent; | |
// Get the source of the property. | |
string source = customProperty.LinkSource; | |
// Get the value of the property. | |
string value = customProperty.Value.ToString(); |
รับตัวแปรเอกสาร
คุณสามารถรับคอลเลกชันของตัวแปรเอกสารได้โดยใช้คุณสมบัติ Variables ชื่อและค่าของตัวแปรเป็นสตริง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการระบุตัวแปรเอกสาร:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_WorkingWithDocument(); | |
// Load the template document. | |
Document doc = new Document(dataDir + "TestFile.doc"); | |
string variables = ""; | |
foreach (KeyValuePair<string, string> entry in doc.Variables) | |
{ | |
string name = entry.Key.ToString(); | |
string value = entry.Value.ToString(); | |
if (variables == "") | |
{ | |
// Do something useful. | |
variables = "Name: " + name + "," + "Value: {1}" + value; | |
} | |
else | |
{ | |
variables = variables + "Name: " + name + "," + "Value: {1}" + value; | |
} | |
} |
ลบข้อมูลส่วนบุคคลออกจากเอกสาร
หากคุณต้องการแชร์เอกสาร Word กับบุคคลอื่น คุณอาจต้องการลบข้อมูลส่วนบุคคล เช่น ชื่อผู้เขียนและบริษัท ในการดำเนินการนี้ ให้ใช้คุณสมบัติ RemovePersonalInformation เพื่อตั้งค่าสถานะที่ระบุว่า Microsoft Word จะลบข้อมูลผู้ใช้ทั้งหมดออกจากความคิดเห็น การแก้ไข และคุณสมบัติเอกสารเมื่อบันทึกเอกสาร
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบข้อมูลส่วนบุคคล:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
Document doc = new Document(dataDir + "Properties.doc"); | |
doc.RemovePersonalInformation = true; | |
dataDir = dataDir + "RemovePersonalInformation_out.docx"; | |
doc.Save(dataDir); |