Revisions
Revisions
Panduan ini menunjukkan cara memeriksa, menerima, menolak, dan merekam perubahan yang dilacak dalam dokumen Word dengan Aspose.Words FOSS untuk .NET. Aspose.Words FOSS untuk .NET dapat memeriksa, menerima, dan menolak perubahan yang dilacak (revisi) dalam dokumen Word melalui Document.Revisions, dan dapat merekam perubahan yang dilacak baru saat mengedit melalui Document.StartTrackRevisions()/StopTrackRevisions().
Membaca Perubahan yang Dilacak
Document.Revisions mengembalikan RevisionCollection dari setiap Revision dalam dokumen; Range.Revisions membatasi hal yang sama ke rentang tertentu. Setiap Revision melaporkan siapa yang membuat perubahan dan kapan (Author, DateTime), jenis perubahan apa itu (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange, atau Moving), dan di mana perubahan itu berlaku (ParentNode, ParentStyle). Document.HasRevisions memberi tahu Anda di muka apakah dokumen yang dimuat memiliki perubahan yang dilacak sama sekali.
Menerima dan Menolak Revisi
Panggil Revision.Accept() atau Revision.Reject() untuk menyelesaikan satu perubahan yang dilacak, atau kerjakan seluruh koleksi sekaligus dengan RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() adalah kemudahan tingkat dokumen yang menerima setiap revisi dalam satu panggilan. Untuk menerima atau menolak sebagian secara selektif, terapkan IRevisionCriteria.IsMatch(revision) dan berikan ke RevisionCollection.Accept(criteria) atau Reject(criteria).
Grup Revisi
Revisi berurutan dari penulis yang sama dan dengan tipe yang sama ditampilkan bersama sebagai RevisionGroup — dapat diakses melalui Revision.Group untuk satu revisi, atau RevisionCollection.Groups (sebuah RevisionGroupCollection) untuk setiap grup dalam dokumen. Setiap grup melaporkan Text, Author, dan RevisionType yang digabungkan.
Merekam Perubahan Terlacak Baru
Panggil Document.StartTrackRevisions(author) atau overload StartTrackRevisions(author, dateTime) sebelum melakukan penyuntingan sehingga perubahan berikutnya direkam sebagai revisi dan bukan diterapkan langsung; panggil StopTrackRevisions() untuk mengakhiri pelacakan. Properti Document.TrackRevisions mencerminkan apakah pelacakan sedang aktif.
Melihat Konten Asli vs. Konten Akhir
Document.RevisionsView mengontrol apakah dokumen ditampilkan dalam keadaan Original atau Final (nilai RevisionsView) ketika revisi ada, tanpa mengubah data revisi yang mendasarinya.
Tips dan Praktik Terbaik
- Periksa
Document.HasRevisionssebelum mengiterasiDocument.Revisionsuntuk melewatkan pekerjaan yang tidak diperlukan pada dokumen tanpa perubahan teracak. - Lebih baik gunakan
RevisionCollection.Accept(criteria)/Reject(criteria)denganIRevisionCriteriakhusus daripada menyaring secara manual dan memanggilRevision.Accept()satu per satu. RevisionGroupberguna untuk menyajikan ringkasan perubahan yang dapat dibaca — mengelompokkan revisi berurutan dengan penulis dan tipe yang sama menghindari perlakuan setiap karakter yang dimasukkan sebagai entri terpisah.- Selalu pasangkan
StartTrackRevisions()dengan pemanggilanStopTrackRevisions()yang kemudian sehingga edit yang tidak terkait tidak tercatat sebagai perubahan yang dilacak.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
Document.Revisions kosong setelah penyuntingan | StartTrackRevisions() tidak pernah dipanggil sebelum penyuntingan | Panggil StartTrackRevisions(author) sebelum membuat penyuntingan yang ingin dilacak |
RevisionCollection.Accept(criteria) tidak menerima apa pun | IRevisionCriteria.IsMatch() tidak cocok dengan revisi apa pun | Verifikasi logika kriteria terhadap nilai Revision.Author/RevisionType/ParentNode yang sebenarnya terlebih dahulu |
Dokumen masih menampilkan markup perubahan yang dilacak setelah AcceptAllRevisions() | Lihat status, bukan data revisi | Atur Document.RevisionsView ke Final jika Anda memerlukan tampilan konten yang telah diselesaikan |
FAQ
Bagaimana cara memeriksa apakah sebuah dokumen memiliki perubahan yang dilacak?
Baca Document.HasRevisions — itu true jika Document.Revisions berisi setidaknya satu Revision.
Apa perbedaan antara Revision.Accept() dan RevisionCollection.AcceptAll()?
Revision.Accept() menyelesaikan satu revisi tertentu; RevisionCollection.AcceptAll() (atau Document.AcceptAllRevisions()) menyelesaikan semua revisi dalam koleksi sekaligus.
Bagaimana cara saya menerima hanya revisi yang dibuat oleh penulis tertentu?
Implementasikan IRevisionCriteria.IsMatch(revision) untuk memeriksa revision.Author, lalu panggil RevisionCollection.Accept(criteria) dengan implementasi tersebut.
Bagaimana cara saya merekam suntingan saya sendiri sebagai perubahan yang dilacak?
Panggil Document.StartTrackRevisions(author) sebelum melakukan suntingan, lalu Document.StopTrackRevisions() setelah selesai.
Jenis revisi apa yang ada?
RevisionType mendefinisikan Insertion, Deletion, FormatChange, StyleDefinitionChange, dan Moving.
API Reference Ringkasan
| Kelas / Metode | Deskripsi |
|---|---|
Document.Revisions | RevisionCollection dari semua perubahan yang dilacak dalam dokumen |
Revision | Satu perubahan yang dilacak: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Revisi berurutan dengan penulis yang sama, tipe yang sama dikelompokkan bersama |
IRevisionCriteria | Predikat khusus (IsMatch(revision)) untuk penerimaan/penolakan selektif |
Document.StartTrackRevisions() / StopTrackRevisions() | Catat penyuntingan baru sebagai perubahan yang dilacak |
Document.RevisionsView | Presentasi Original atau Final dari konten yang direvisi |