Принять изменения
В этом руководстве мы покажем вам, как принять изменения к документу Word с помощью функции «Принять изменения» в Aspose.Words для .NET. Выполните следующие действия, чтобы понять исходный код и принять изменения в документе.
Шаг 1. Добавление и редактирование содержимого документа
В этом примере мы создаем документ и добавляем контент. Мы используем несколько абзацев для иллюстрации изменений и исправлений. Вот как:
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENTS DIRECTORY";
Document doc = new Document();
Body body = doc.FirstSection.Body;
Paragraph para = body.FirstParagraph;
// Добавьте текст в первый абзац, затем добавьте еще два абзаца.
para.AppendChild(new Run(doc, "Paragraph 1. "));
body.AppendParagraph("Paragraph 2.");
body.AppendParagraph("Paragraph 3.");
Шаг 2. Отслеживайте отзывы и добавляйте отзывы
Включаем отслеживание ревизий и добавляем ревизию в документ. Вот как:
doc.StartTrackRevisions("John Doe", DateTime.Now);
// Этот абзац является редакцией, и ему будет установлен соответствующий флаг IsInsertRevision.
para = body.AppendParagraph("Paragraph 4.");
Assert.True(para.IsInsertRevision);
Шаг 3. Удаление абзаца и управление изменениями
Удаляем абзац и проверяем наличие сохраненных редакций. Вот как:
ParagraphCollection paragraphs = body.Paragraphs;
Assert.AreEqual(4, paragraphs.Count);
para = paragraphs[2];
para.Remove();
// Поскольку мы отслеживаем изменения, этот абзац все еще существует в документе, и для него будет установлен флаг IsDeleteRevision.
// и будет отображаться как отзыв в Microsoft Word, пока мы не примем или не отклоним все отзывы.
Assert.AreEqual(4, paragraphs.Count);
Assert.True(para.IsDeleteRevision);
Шаг 4. Примите изменения
Мы принимаем все изменения в документе. Вот как:
doc.AcceptAllRevisions();
Assert.AreEqual(3, paragraphs.Count);
Assert.That(para, Is.Empty);
Шаг 5. Прекратите отслеживать отзывы
Мы собираемся прекратить отслеживание изменений, чтобы изменения в документе больше не отображались как исправления. Вот как:
doc.StopTrackRevisions();
Шаг 6: Сохранение документа
После вставки поля формы ввода текста сохраните документ в нужное место с помощью кнопкиSave
метод. Обязательно укажите правильный путь к файлу:
doc.Save(dataDir + "WorkingWithRevisions.AcceptRevisions.docx");
Пример исходного кода для принятия изменений с использованием Aspose.Words для .NET
Вот полный исходный код для принятия изменений в документе с помощью Aspose.Words для .NET:
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
Body body = doc.FirstSection.Body;
Paragraph para = body.FirstParagraph;
// Добавьте текст в первый абзац, затем добавьте еще два абзаца.
para.AppendChild(new Run(doc, "Paragraph 1. "));
body.AppendParagraph("Paragraph 2. ");
body.AppendParagraph("Paragraph 3. ");
//У нас есть три абзаца, ни один из которых не зарегистрирован как какой-либо пересмотр.
// Если мы добавляем/удаляем какой-либо контент в документе во время отслеживания изменений,
// они будут отображаться в документе как таковые и могут быть приняты/отклонены.
doc.StartTrackRevisions("John Doe", DateTime.Now);
// Этот абзац является версией, и для него будет установлен соответствующий флаг IsInsertRevision.
para = body.AppendParagraph("Paragraph 4. ");
Assert.True(para.IsInsertRevision);
// Получите коллекцию абзацев документа и удалите абзац.
ParagraphCollection paragraphs = body.Paragraphs;
Assert.AreEqual(4, paragraphs.Count);
para = paragraphs[2];
para.Remove();
// Поскольку мы отслеживаем изменения, этот абзац все еще существует в документе и будет иметь установленный параметр IsDeleteRevision.
// и будет отображаться как версия в Microsoft Word, пока мы не примем или не отклоним все версии.
Assert.AreEqual(4, paragraphs.Count);
Assert.True(para.IsDeleteRevision);
// Параграф «Удалить редакцию» будет удален, как только мы примем изменения.
doc.AcceptAllRevisions();
Assert.AreEqual(3, paragraphs.Count);
Assert.That(para, Is.Empty);
// Если остановить отслеживание изменений, этот текст будет отображаться как обычный текст.
// Редакции не учитываются при изменении документа.
doc.StopTrackRevisions();
// Сохраните документ.
doc.Save(dataDir + "WorkingWithRevisions.AcceptRevisions.docx");
Заключение
В этом уроке мы узнали, как принимать изменения в документе Word, используя функцию «Принять изменения» в Aspose.Words для .NET. Мы выполнили действия по добавлению и редактированию содержимого документа, отслеживанию изменений, удалению исправленного абзаца, принятию всех изменений и прекращению отслеживания изменений. Теперь вы можете применить эти знания для эффективного управления изменениями в ваших собственных документах Word с помощью Aspose.Words для .NET.
Часто задаваемые вопросы
Вопрос: Как включить отслеживание версий в Aspose.Words для .NET?
Решение 1:
О: Чтобы включить отслеживание версий в Aspose.Words for .NET, используйтеStartTrackRevisions
методDocument
объект и укажите имя автора и дату начала отслеживания изменений.
doc.StartTrackRevisions("John Doe", DateTime.Now);
Решение 2:
О: Вы также можете включить отслеживание изменений с помощьюDocument
конструктор, который принимаетtrackRevisions
иauthor
параметры.
Document doc = new Document("document.docx", new LoadOptions { TrackRevisions = true, Author = "John Doe" });
Вопрос: Как принять все изменения в документе с помощью Aspose.Words for .NET?
А: ИспользуйтеAcceptAllRevisions
методDocument
возразить, чтобы принять все изменения, внесенные в документ.
doc.AcceptAllRevisions();
Вопрос: Как сохранить измененный документ с принятыми исправлениями?
ИспользоватьSave
методDocument
объект для сохранения измененного документа с принятыми редакциями. Обязательно укажите правильный путь к файлу.
doc.Save("path/to/the/document.docx");
Вопрос: Как мне прекратить отслеживание изменений в Aspose.Words for .NET?
А: ИспользуйтеStopTrackRevisions
методDocument
объект, чтобы остановить отслеживание изменений.
doc.StopTrackRevisions();
Вопрос: Как удалить исправленный абзац в документе с помощью Aspose.Words for .NET?
О: Чтобы удалить исправленный абзац в документе, вы можете использовать командуRemove
метод сбора абзацев.
ParagraphCollection paragraphs = body.Paragraphs;
Paragraph para = paragraphs[2];
para.Remove();