อัปเดตฟิลด์
โดยทั่วไปฟิลด์ที่แทรกลงในMicrosoft Wordมีค่าที่เป็นปัจจุบันอยู่แล้ว ตัวอย่างเช่นถ้าฟิลด์เป็นสูตรหรือหมายเลขหน้ามันจะมีค่าคำนวณที่ถูกต้องสำหรับรุ่นที่กำหน แต่ถ้าคุณมีโปรแกรมประยุกต์ที่สร้างหรือปรับเปลี่ยนเอกสารที่มีเขตข้อมูลเช่นการรวมเอก.
วิธีการอัปเดตฟิลด์
เมื่อเอกสารถูกโหลดAspose.WordsเลียนแบบพฤติกรรมของMicrosoft Wordด้วยตัวเลือกในการอัปเดตฟิลด์โดยอัตโนมัติ ลักษณะการทำงานสามารถสรุปได้ดังนี้:
- เมื่อคุณเปิด/บันทึกเอกสารฟิลด์ยังคงเหมือนเดิม
- คุณสามารถอัพเดตฟิลด์ทั้งหมดในเอกสารได้อย่างชัดเจนตัวอย่างเช่นสร้าง
TOC
เมื่อคุณต้องการ - เมื่อคุณแสดงผลเป็นPDFหรือXPSฟิลด์ที่เกี่ยวข้องกับการระบุหมายเลขหน้าในส่วนหัว/ท้ายกระดาษ
- เมื่อคุณประมวลผลmail mergeทุกฟิลด์จะถูกอัปเดตโดยอัตโนมัติ
ปรับปรุงฟิลด์ทางโปรแกรม
หากต้องการอัปเดตฟิลด์ในเอกสารทั้งหมดอย่างชัดเจนเพียงแค่เรียกวิธีการUpdateFields เมื่อต้องการปรับปรุงเขตข้อมูลที่มีอยู่ในส่วนของเอกสารขอรับวัตถุRangeและเรียกวิธีการUpdateFields ในAspose.WordsคุณสามารถขอรับRangeสำหรับโหนดใดๆในแผนผังเอกสารเช่นSection, HeaderFooter, Paragraph, ฯลฯ การใช้คุณสมบัติNode.Rangeคุณสามารถอัปเดตผลลัพธ์ของฟิลด์เดียวโดยการเรียกวิธีการUpdate.
การปรับปรุงอัตโนมัติของเขตข้อมูลที่เกี่ยวข้องกับหน้าในระหว่างการแสดงผล
เมื่อคุณดำเนินการแปลงเอกสารเป็นรูปแบบหน้าถาวรเช่นPDFหรือXPSแล้วAspose.Wordsจะอัปเดตฟิลด์ที่เกี่ยวข้องกับเค้าโครงหน้าเว็บโดยอัตโนมัติPAGE
,PAGEREF
ที่พบในส่วนหัว/ท้ายกระดาษของเอกสาร ลักษณะการทำงานนี้เลียนแบบลักษณะการทำงานของMicrosoft Wordเมื่อพิมพ์เอกสาร.
ถ้าคุณต้องการอัปเดตฟิลด์อื่นๆทั้งหมดในเอกสารคุณต้องโทรUpdateFieldsก่อนแสดงผลเอกสาร.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการอัพเดตฟิลด์ทั้งหมดก่อนการแสดงผลเอกสาร:
//For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(MyDir + u"Various fields.docx"); | |
doc->UpdateFields(); |
อัพเดตฟิลด์อัตโนมัติระหว่างMail Merge
เมื่อคุณรันmail mergeทุกฟิลด์ในเอกสารจะได้รับการอัปเดตโดยอัตโนมัติ งจากmail mergeเป็นกรณีของการอัพเดตฟิลด์ โปรแกรมพบฟิลด์mail mergeและต้องปรับปรุงผลลัพธ์ของมันซึ่งเกี่ยวข้องกับการโลภค่าจากแหล่งข้อมู ตรรกะเป็นของหลักสูตรที่ซับซ้อนมากขึ้นเช่นเมื่อจุดสิ้นสุดของเอกสาร/mail mergeภูมิภาคจะถึงแต่ยังมี.
อัพเดทLastSavedTimeก่อนที่จะบันทึก
คุณสามารถใช้คุณสมบัติUpdateLastSavedTimePropertyว่าจะอัปเดตคุณสมบัติเอกสารในตัวที่สอดคล้องกันหรือไม่LastSavedTimeเมื่อบันทึ.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการปรับปรุงคุณสมบัตินี้:
//For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(MyDir + u"Document.docx"); | |
auto saveOptions = MakeObject<OoxmlSaveOptions>(); | |
saveOptions->set_UpdateLastSavedTimeProperty(true); | |
doc->Save(ArtifactsDir + u"WorkingWithOoxmlSaveOptions.UpdateLastSavedTimeProperty.docx", saveOptions); |