Revisions

Revisions

คู่มือนี้แสดงวิธีตรวจสอบ ยอมรับ ปฏิเสธ และบันทึกการเปลี่ยนแปลงที่ติดตามในเอกสาร Word ด้วย Aspose.Words FOSS สำหรับ .NET. Aspose.Words FOSS สำหรับ .NET สามารถตรวจสอบ ยอมรับ และปฏิเสธการเปลี่ยนแปลงที่ติดตาม (การแก้ไข) ในเอกสาร Word ผ่าน Document.Revisions และสามารถบันทึกการเปลี่ยนแปลงที่ติดตามใหม่ขณะแก้ไขผ่าน Document.StartTrackRevisions()/StopTrackRevisions().


การอ่านการเปลี่ยนแปลงที่ติดตาม

Document.Revisions ส่งคืน RevisionCollection ของทุก Revision ในเอกสาร; Range.Revisions จำกัดขอบเขตเดียวกันให้กับช่วงที่เฉพาะเจาะจง. แต่ละ Revision รายงานว่าใครทำการเปลี่ยนแปลงและเมื่อใด (Author, DateTime), ประเภทของการเปลี่ยนแปลงคืออะไร (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange, หรือ Moving), และว่ามันใช้ที่ไหน (ParentNode, ParentStyle). Document.HasRevisions บอกคุณล่วงหน้าว่าเอกสารที่โหลดมีการเปลี่ยนแปลงที่ติดตามหรือไม่.


การยอมรับและการปฏิเสธการแก้ไข

เรียกใช้ Revision.Accept() หรือ Revision.Reject() เพื่อแก้ไขการเปลี่ยนแปลงที่ติดตามหนึ่งรายการ, หรือทำงานกับคอลเล็กชันทั้งหมดพร้อมกันด้วย RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() เป็นความสะดวกระดับเอกสารที่ยอมรับทุกการแก้ไขในหนึ่งการเรียก. เพื่อยอมรับหรือปฏิเสธส่วนย่อยอย่างเลือกสรร, ให้ดำเนินการ IRevisionCriteria.IsMatch(revision) แล้วส่งไปยัง RevisionCollection.Accept(criteria) หรือ Reject(criteria).


กลุ่มการแก้ไข

การแก้ไขต่อเนื่องจากผู้เขียนคนเดียวกันและประเภทเดียวกันจะถูกแสดงรวมกันเป็น RevisionGroup — สามารถเข้าถึงได้ผ่าน Revision.Group สำหรับการแก้ไขเดี่ยวหนึ่งรายการ หรือ RevisionCollection.Groups (ซึ่งเป็น RevisionGroupCollection) สำหรับแต่ละกลุ่มในเอกสาร แต่ละกลุ่มจะรายงาน Text, Author, และ RevisionType ที่รวมกัน.


บันทึกการเปลี่ยนแปลงที่ติดตามใหม่

เรียก Document.StartTrackRevisions(author) หรือฟังก์ชันโอเวอร์โหลด StartTrackRevisions(author, dateTime) ก่อนทำการแก้ไขเพื่อให้การเปลี่ยนแปลงต่อมาถูกบันทึกเป็นการแก้ไขแทนที่จะถูกนำไปใช้โดยตรง; เรียก StopTrackRevisions() เพื่อหยุดการติดตาม คุณสมบัติ Document.TrackRevisions แสดงว่าการติดตามกำลังทำงานอยู่หรือไม่.


ดูเนื้อหาต้นฉบับเทียบกับเนื้อหาสุดท้าย

Document.RevisionsView ควบคุมว่าเอกสารจะแสดงในสถานะ Original หรือ Final (ค่าของ RevisionsView) เมื่อมีการแก้ไขอยู่โดยไม่เปลี่ยนแปลงข้อมูลการแก้ไขพื้นฐาน.


เคล็ดลับและแนวปฏิบัติที่ดีที่สุด

  • ตรวจสอบ Document.HasRevisions ก่อนทำการวนซ้ำ Document.Revisions เพื่อข้ามงานที่ไม่จำเป็นในเอกสารที่ไม่มีการเปลี่ยนแปลงที่ติดตาม.
  • แนะนำให้ใช้ RevisionCollection.Accept(criteria)/Reject(criteria) พร้อมกับ IRevisionCriteria ที่กำหนดเอง มากกว่าการกรองด้วยตนเองและเรียก Revision.Accept() ทีละรายการ.
  • RevisionGroup มีประโยชน์สำหรับการแสดงสรุปการเปลี่ยนแปลงที่อ่านง่าย — การจัดกลุ่มการแก้ไขที่ต่อเนื่องโดยมีผู้เขียนและประเภทเดียวกันช่วยหลีกเลี่ยงการพิจารณาอักขระที่แทรกแต่ละตัวเป็นรายการแยกกัน.
  • ควรจับคู่ StartTrackRevisions() กับการเรียก StopTrackRevisions() ที่ตามมาภายหลังเสมอ เพื่อไม่ให้การแก้ไขที่ไม่เกี่ยวข้องถูกบันทึกเป็นการเปลี่ยนแปลงที่ติดตาม.

ปัญหาที่พบบ่อย

ปัญหาสาเหตุวิธีแก้
Document.Revisions ว่างหลังจากการแก้ไขStartTrackRevisions() ไม่เคยถูกเรียกใช้ก่อนการแก้ไขเรียก StartTrackRevisions(author) ก่อนทำการแก้ไขที่คุณต้องการติดตาม
RevisionCollection.Accept(criteria) ไม่รับค่าใดIRevisionCriteria.IsMatch() ไม่ตรงกับการแก้ไขใดตรวจสอบตรรกะของเกณฑ์กับค่าจาก Revision.Author/RevisionType/ParentNode จริงก่อน
เอกสารยังคงแสดงมาร์คอัปการเปลี่ยนแปลงที่ติดตามอยู่หลังจาก AcceptAllRevisions()มุมมองสถานะ ไม่ใช่ข้อมูลการแก้ไขตั้งค่า Document.RevisionsView เป็น Final หากคุณต้องการมุมมองเนื้อหาที่แก้ไขแล้ว

FAQ

ฉันจะตรวจสอบว่าเอกสารมีการเปลี่ยนแปลงที่ติดตามหรือไม่อย่างไร?

อ่าน Document.HasRevisions — จะเป็น true หาก Document.Revisions มีอย่างน้อยหนึ่ง Revision.

ความแตกต่างระหว่าง Revision.Accept() กับ RevisionCollection.AcceptAll() คืออะไร?

Revision.Accept() แก้ไขการปรับรุ่นหนึ่งรายการเฉพาะ; RevisionCollection.AcceptAll() (หรือ Document.AcceptAllRevisions()) แก้ไขการปรับรุ่นทั้งหมดในคอลเลกชันพร้อมกัน.

ฉันจะยอมรับการแก้ไขที่ทำโดยผู้เขียนเฉพาะคนหนึ่งเท่านั้นอย่างไร?

ดำเนินการ IRevisionCriteria.IsMatch(revision) เพื่อเช็ค revision.Author, จากนั้นเรียก RevisionCollection.Accept(criteria) พร้อมการดำเนินการนั้น.

ฉันจะบันทึกการแก้ไขของฉันเป็นการเปลี่ยนแปลงที่ติดตามได้อย่างไร?

เรียก Document.StartTrackRevisions(author) ก่อนทำการแก้ไข, แล้ว Document.StopTrackRevisions() เมื่อเสร็จสิ้น.

มีประเภทการแก้ไขใดบ้าง?

RevisionType กำหนด Insertion, Deletion, FormatChange, StyleDefinitionChange และ Moving.


API Reference สรุป

คลาส / เมธอดคำอธิบาย
Document.RevisionsRevisionCollection ของการเปลี่ยนแปลงที่ติดตามทั้งหมดในเอกสาร
Revisionการเปลี่ยนแปลงที่ติดตามหนึ่งรายการ: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionการแก้ไขที่ต่อเนื่องของผู้เขียนเดียวกันและประเภทเดียวกันถูกรวมเข้าด้วยกัน
IRevisionCriteriaPredicate กำหนดเอง (IsMatch(revision)) สำหรับการยอมรับ/ปฏิเสธแบบเลือกสรร
Document.StartTrackRevisions() / StopTrackRevisions()บันทึกการแก้ไขใหม่เป็นการเปลี่ยนแปลงที่ติดตาม
Document.RevisionsViewการนำเสนอ Original หรือ Final ของเนื้อหาที่แก้ไข

ดูเพิ่มเติม

 ภาษาไทย