Revisions

Revisions

Hướng dẫn này cho thấy cách kiểm tra, chấp nhận, từ chối và ghi lại các thay đổi được theo dõi trong tài liệu Word bằng Aspose.Words FOSS cho .NET. Aspose.Words FOSS cho .NET có thể kiểm tra, chấp nhận và từ chối các thay đổi được theo dõi (sửa đổi) trong tài liệu Word thông qua Document.Revisions, và có thể ghi lại các thay đổi được theo dõi mới khi chỉnh sửa qua Document.StartTrackRevisions()/StopTrackRevisions().


Đọc các thay đổi được theo dõi

Document.Revisions trả về một RevisionCollection của mọi Revision trong tài liệu; Range.Revisions giới hạn cùng điều đó trong một phạm vi cụ thể. Mỗi Revision báo cáo ai đã thực hiện thay đổi và khi nào (Author, DateTime), loại thay đổi là gì (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange, hoặc Moving), và nơi áp dụng (ParentNode, ParentStyle). Document.HasRevisions cho bạn biết ngay từ đầu liệu tài liệu đã tải có bất kỳ thay đổi được theo dõi nào hay không.


Chấp nhận và Từ chối Sửa đổi

Gọi Revision.Accept() hoặc Revision.Reject() để giải quyết một thay đổi được theo dõi duy nhất, hoặc làm việc với toàn bộ bộ sưu tập cùng một lúc bằng RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() là một tiện ích ở cấp độ tài liệu cho phép chấp nhận mọi sửa đổi trong một lần gọi. Để chấp nhận hoặc từ chối một tập con một cách chọn lọc, triển khai IRevisionCriteria.IsMatch(revision) và truyền nó vào RevisionCollection.Accept(criteria) hoặc Reject(criteria).


Nhóm Sửa đổi

Các phiên bản liên tiếp từ cùng một tác giả và cùng loại được hiển thị cùng nhau dưới dạng RevisionGroup — có thể truy cập qua Revision.Group cho một phiên bản duy nhất, hoặc RevisionCollection.Groups (một RevisionGroupCollection) cho mỗi nhóm trong tài liệu. Mỗi nhóm báo cáo Text, Author, và RevisionType kết hợp của nó.


Ghi lại các thay đổi được theo dõi mới

Gọi Document.StartTrackRevisions(author) hoặc phiên bản quá tải StartTrackRevisions(author, dateTime) trước khi thực hiện chỉnh sửa để các thay đổi tiếp theo được ghi lại dưới dạng phiên bản thay vì được áp dụng trực tiếp; gọi StopTrackRevisions() để kết thúc việc theo dõi. Thuộc tính Document.TrackRevisions phản ánh việc theo dõi hiện đang hoạt động hay không.


Xem nội dung gốc và nội dung cuối cùng

Document.RevisionsView kiểm soát việc tài liệu được hiển thị ở trạng thái Original hay Final (một giá trị RevisionsView) khi có các phiên bản, mà không làm thay đổi dữ liệu phiên bản nền.


Mẹo và các thực hành tốt nhất

  • Kiểm tra Document.HasRevisions trước khi lặp Document.Revisions để bỏ qua công việc không cần thiết trên các tài liệu không có thay đổi được theo dõi.
  • Ưu tiên RevisionCollection.Accept(criteria)/Reject(criteria) với một IRevisionCriteria tùy chỉnh hơn việc lọc thủ công và gọi Revision.Accept() từng cái một.
  • RevisionGroup hữu ích cho việc trình bày tóm tắt dễ đọc về các thay đổi — việc nhóm các phiên bản liên tiếp cùng tác giả, cùng loại tránh việc coi mỗi ký tự được chèn như một mục riêng biệt.
  • Luôn kết hợp StartTrackRevisions() với một lời gọi StopTrackRevisions() sau này để các sửa đổi không liên quan không bị ghi lại như là thay đổi được theo dõi.

Các vấn đề thường gặp

Vấn đềNguyên nhânCách khắc phục
Document.Revisions trống sau khi chỉnh sửaStartTrackRevisions() chưa bao giờ được gọi trước khi chỉnh sửaGọi StartTrackRevisions(author) trước khi thực hiện các chỉnh sửa bạn muốn theo dõi
RevisionCollection.Accept(criteria) không chấp nhận gìIRevisionCriteria.IsMatch() không khớp với bất kỳ phiên bản nàoXác minh logic tiêu chí dựa trên các giá trị thực tế Revision.Author/RevisionType/ParentNode trước tiên
Tài liệu vẫn hiển thị đánh dấu thay đổi đã theo dõi sau AcceptAllRevisions()Xem trạng thái, không phải dữ liệu phiên bảnĐặt Document.RevisionsView thành Final nếu bạn cần chế độ xem nội dung đã giải quyết

FAQ

Làm thế nào để kiểm tra xem tài liệu có bất kỳ thay đổi được theo dõi nào không?

Đọc Document.HasRevisions — nó là true nếu Document.Revisions chứa ít nhất một Revision.

Sự khác biệt giữa Revision.Accept() và RevisionCollection.AcceptAll() là gì?

Revision.Accept() giải quyết một phiên bản cụ thể; RevisionCollection.AcceptAll() (hoặc Document.AcceptAllRevisions()) giải quyết mọi phiên bản trong bộ sưu tập cùng một lúc.

Làm thế nào để tôi chấp nhận chỉ các sửa đổi được thực hiện bởi một tác giả cụ thể?

Triển khai IRevisionCriteria.IsMatch(revision) để kiểm tra revision.Author, sau đó gọi RevisionCollection.Accept(criteria) với triển khai đó.

Làm thế nào để tôi ghi lại các chỉnh sửa của mình dưới dạng thay đổi được theo dõi?

Gọi Document.StartTrackRevisions(author) trước khi thực hiện các chỉnh sửa, sau đó Document.StopTrackRevisions() khi xong.

Có những loại sửa đổi nào?

RevisionType định nghĩa Insertion, Deletion, FormatChange, StyleDefinitionChange và Moving.


API Reference Tóm tắt

Lớp / Phương thứcMô tả
Document.RevisionsRevisionCollection của tất cả các thay đổi đã theo dõi trong tài liệu
RevisionMột thay đổi được theo dõi: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionCác phiên bản liên tiếp cùng tác giả, cùng loại được nhóm lại với nhau
IRevisionCriteriaTiên đề tùy chỉnh (IsMatch(revision)) để chấp nhận/từ chối có chọn lọc
Document.StartTrackRevisions() / StopTrackRevisions()Ghi lại các chỉnh sửa mới dưới dạng thay đổi được theo dõi
Document.RevisionsViewOriginal hoặc Final trình bày nội dung đã được chỉnh sửa

Xem thêm

 Tiếng Việt