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) یا overload StartTrackRevisions(author, dateTime) را فراخوانی کنید تا تغییرات بعدی به‌عنوان بازنگری‌ها ثبت شوند نه اینکه مستقیماً اعمال شوند؛ برای پایان ردیابی، StopTrackRevisions() را فراخوانی کنید. ویژگی Document.TrackRevisions نشان می‌دهد که ردیابی در حال حاضر فعال است یا نه.


مشاهده محتوا اصلی در مقابل نهایی

Document.RevisionsView تعیین می‌کند که سند در حالت Original یا Final (یک مقدار RevisionsView) نمایش داده شود وقتی بازنگری‌ها وجود دارند، بدون تغییر داده‌های بازنگری پایه.


نکات و بهترین روش‌ها

  • قبل از تکرار Document.Revisions، Document.HasRevisions را بررسی کنید تا کارهای غیرضروری بر روی اسناد بدون تغییرات ردیابی‌شده را نادیده بگیرید.
  • به جای فیلتر کردن دستی و فراخوانی Revision.Accept() به‌صورت تک‌تک، استفاده از RevisionCollection.Accept(criteria)/Reject(criteria) با یک IRevisionCriteria سفارشی را ترجیح دهید.
  • RevisionGroup برای ارائه خلاصه‌ای قابل‌خواندن از تغییرات مفید است — گروه‌بندی بازنگری‌های پی‌درپی با همان نویسنده و همان نوع، از ثبت هر کاراکتر وارد شده به‌عنوان ورودی جداگانه جلوگیری می‌کند.
  • همیشه StartTrackRevisions() را همراه با فراخوانی StopTrackRevisions() بعدی استفاده کنید تا ویرایش‌های نامرتبط به‌عنوان تغییرات ردیابی‌شده ثبت نشوند.

مشکلات رایج

مشکلدلیلرفع
Document.Revisions پس از ویرایش‌ها خالی استStartTrackRevisions() قبل از ویرایش هرگز فراخوانی نشده استقبل از اعمال ویرایش‌هایی که می‌خواهید ردیابی شوند، StartTrackRevisions(author) را فراخوانی کنید
RevisionCollection.Accept(criteria) هیچ چیزی را نمی‌پذیردIRevisionCriteria.IsMatch() با هیچ نسخه‌ای مطابقت نداردابتدا منطق معیارها را نسبت به مقادیر واقعی Revision.Author/RevisionType/ParentNode بررسی کنید
سند پس از AcceptAllRevisions() هنوز علامت‌گذاری تغییرات ردیابی شده را نشان می‌دهدوضعیت را مشاهده کنید، نه داده‌های بازبینیاگر به نمای محتوای حل‌شده نیاز دارید، Document.RevisionsView را به Final تنظیم کنید

FAQ

چگونه می‌توانم بررسی کنم که آیا یک سند دارای تغییرات ردیابی‌شده است یا خیر؟

به Document.HasRevisions مراجعه کنید — اگر Document.Revisions حداقل یک Revision داشته باشد، true است.

تفاوت بین Revision.Accept() و RevisionCollection.AcceptAll() چیست؟

Revision.Accept() یک بازنگری خاص را حل می‌کند؛ RevisionCollection.AcceptAll() (یا Document.AcceptAllRevisions()) تمام بازنگری‌های موجود در مجموعه را به‌صورت همزمان حل می‌کند.

چگونه فقط بازنگری‌های انجام‌شده توسط یک نویسنده خاص را بپذیرم؟

برای بررسی revision.Author، IRevisionCriteria.IsMatch(revision) را پیاده‌سازی کنید، سپس 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بازنگری‌های متوالی با همان نویسنده و همان نوع به‌صورت گروهی دسته‌بندی می‌شوند
IRevisionCriteriaشرط سفارشی (IsMatch(revision)) برای پذیرش/رد انتخابی
Document.StartTrackRevisions() / StopTrackRevisions()ثبت ویرایش‌های جدید به‌عنوان تغییرات ردیابی‌شده
Document.RevisionsViewارائه Original یا Final از محتوای بازبینی‌شده

همچنین ببینید:

 فارسی