อัปเดตฟิลด์
โดยทั่วไปฟิลด์ที่แทรกลงในMicrosoft Wordมีค่าที่เป็นปัจจุบันอยู่แล้ว ตัวอย่างเช่นถ้าฟิลด์เป็นสูตรหรือหมายเลขหน้ามันจะมีค่าคำนวณที่ถูกต้องสำหรับรุ่นที่กำหน แต่ถ้าคุณมีโปรแกรมประยุกต์ที่สร้างหรือปรับเปลี่ยนเอกสารที่มีเขตข้อมูลเช่นการรวมเอก.
วิธีการอัปเดตฟิลด์
เมื่อเอกสารถูกโหลดAspose.WordsเลียนแบบพฤติกรรมของMicrosoft Wordด้วยตัวเลือกในการอัปเดตฟิลด์โดยอัตโนมัติ ลักษณะการทำงานสามารถสรุปได้ดังนี้:
- เมื่อคุณเปิด/บันทึกเอกสารฟิลด์ยังคงเหมือนเดิม
- คุณสามารถอัพเดตฟิลด์ทั้งหมดในเอกสารได้อย่างชัดเจนตัวอย่างเช่นสร้าง
TOC
เมื่อคุณต้องการ - เมื่อคุณพิมพ์/แสดงผลเป็นPDFหรือXPSฟิลด์ที่เกี่ยวข้องกับการระบุหมายเลขหน้าในส่วนหัว/ท้ายกระดาษ
- เมื่อคุณประมวลผลMail Mergeทุกฟิลด์จะถูกอัปเดตโดยอัตโนมัติ
ปรับปรุงฟิลด์ทางโปรแกรม
หากต้องการอัปเดตฟิลด์ในเอกสารทั้งหมดอย่างชัดเจนเพียงแค่เรียกวิธีการUpdateFields เมื่อต้องการปรับปรุงเขตข้อมูลที่มีอยู่ในส่วนของเอกสารขอรับวัตถุRangeและเรียกวิธีการUpdateFields ในAspose.WordsคุณสามารถขอรับRangeสำหรับโหนดใดๆในแผนผังเอกสารเช่นSection, HeaderFooter, Paragraph, ฯลฯ การใช้คุณสมบัติGetRange คุณสามารถอัปเดตผลลัพธ์ของฟิลด์เดียวโดยการเรียกวิธีการ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-Java | |
Document doc = new Document(getMyDir() + "Various fields.docx"); | |
doc.updateFields(); |
อัพเดตฟิลด์อัตโนมัติระหว่างMail Merge
เมื่อคุณรันmail mergeทุกฟิลด์ในเอกสารจะได้รับการอัปเดตโดยอัตโนมัติ เนื่องจากMail Mergeเป็นกรณีของการปรับปรุงฟิลด์ โปรแกรมพบฟิลด์Mail Mergeและต้องปรับปรุงผลลัพธ์ของมันซึ่งเกี่ยวข้องกับการโลภค่าจากแหล่งข้อมู ตรรกะเป็นของหลักสูตรที่ซับซ้อนมากขึ้นเช่นเมื่อจุดสิ้นสุดของเอกสาร/mail mergeภูมิภาคจะถึงแต่ยังมี.
ปรับปรุงเขตข้อมูลที่มีแอตทริบิวต์สกปรก
การเปลี่ยนแปลงใดๆในโรงงานซึ่งจะนำไปสู่คุณลักษณะใหม่โชคดีหรือโชคร้ายนี้สามารถจะ มันบอกคำMSให้รีเฟรชเฉพาะฟิลด์นี้ในครั้งถัดไปเปิดเอกสาร คุณสามารถใช้LoadOptionssetUpdateDirtyFields()คุณสมบัติเพื่อระบุว่าจะอัพเดตฟิลด์ด้วยแอ็ตทริบิวต์สกปรก เมื่อค่าของLoadOptionssetUpdateDirtyFields()ตั้งค่าเป็นtrueทุกฟิลด์ที่มีค่าtrueสำหรับField.IsDirty
หรือFieldChar.IsDirty
คุณสมบัติจะถูกอัปเดตเมื่อโหลดเอกสาร
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการปรับปรุงเขตข้อมูลที่มีแอตทริบิวต์สกปรก:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
LoadOptions loadOptions = new LoadOptions(); | |
{ | |
loadOptions.setUpdateDirtyFields(true); | |
} | |
Document doc = new Document(getMyDir() + "Dirty field.docx", loadOptions); | |
doc.save(getArtifactsDir() + "WorkingWithLoadOptions.UpdateDirtyFields.docx"); |
อัพเดทLastSavedTimeก่อนที่จะบันทึก
คุณสามารถใช้คุณสมบัติUpdateLastSavedTimePropertyว่าจะอัปเดตคุณสมบัติเอกสารในตัวที่สอดคล้องกันหรือไม่LastSavedTimeเมื่อบันทึ.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการปรับปรุงคุณสมบัตินี้:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(getMyDir() + "Document.docx"); | |
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setUpdateLastSavedTimeProperty(true); } | |
doc.save(getArtifactsDir() + "WorkingWithOoxmlSaveOptions.UpdateLastSavedTimeProperty.docx", saveOptions); |