Переместить узел в отслеживаемом документе
В этом пошаговом руководстве мы расскажем, как переместить узел в отслеживаемом документе Word с помощью Aspose.Words для .NET. Мы предоставим вам полный исходный код и покажем, как форматировать выходные данные уценки.
Шаг 1: Создание документа
Первым шагом является создание нового документа и добавление абзацев.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Paragraph 1");
builder.Writeln("Paragraph 2");
builder.Writeln("Paragraph 3");
builder.Writeln("Paragraph 4");
builder.Writeln("Paragraph 5");
builder.Writeln("Paragraph 6");
Body body = doc.FirstSection.Body;
Console.WriteLine("Number of paragraphs: {0}", body.Paragraphs.Count);
Шаг 2. Отслеживайте изменения
Мы собираемся включить отслеживание изменений в документе.
doc.StartTrackRevisions("Author", new DateTime(2020, 12, 23, 14, 0, 0));
Шаг 3. Переместите узел
Мы будем перемещать узел (абзац) из одной позиции в другую при генерации ревизий.
Node node = body.Paragraphs[3];
Node endNode = body.Paragraphs[5].NextSibling;
Node referenceNode = body.Paragraphs[0];
while (node != endNode)
{
Node nextNode = node. NextSibling;
body. InsertBefore(node, referenceNode);
node = nextNode;
}
Шаг 4. Прекратите отслеживать отзывы
Мы прекратим отслеживать изменения в документе.
doc.StopTrackRevisions();
Шаг 5: Сохранение документа
После вставки поля формы ввода текста сохраните документ в нужное место с помощью кнопкиSave
метод. Обязательно укажите правильный путь к файлу:
Console.WriteLine("Paragraph count: {0}", body.Paragraphs.Count);
doc.Save(dataDir + "WorkingWithRevisions.MoveNodeInTrackedDocument.docx");
Пример исходного кода для перемещения узла в отслеживаемом документе с использованием Aspose.Words для .NET
Вот полный исходный код для перемещения узла в отслеживаемом документе с помощью Aspose.Words для .NET:
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Paragraph 1");
builder.Writeln("Paragraph 2");
builder.Writeln("Paragraph 3");
builder.Writeln("Paragraph 4");
builder.Writeln("Paragraph 5");
builder.Writeln("Paragraph 6");
Body body = doc.FirstSection.Body;
Console.WriteLine("Paragraph count: {0}", body.Paragraphs.Count);
// Начните отслеживать изменения.
doc.StartTrackRevisions("Author", new DateTime(2020, 12, 23, 14, 0, 0));
// Создание редакций при перемещении узла из одного места в другое.
Node node = body.Paragraphs[3];
Node endNode = body.Paragraphs[5].NextSibling;
Node referenceNode = body.Paragraphs[0];
while (node != endNode)
{
Node nextNode = node.NextSibling;
body.InsertBefore(node, referenceNode);
node = nextNode;
}
// Остановите процесс отслеживания изменений.
doc.StopTrackRevisions();
// В диапазоне перехода есть еще 3 абзаца.
Console.WriteLine("Paragraph count: {0}", body.Paragraphs.Count);
doc.Save(dataDir + "WorkingWithRevisions.MoveNodeInTrackedDocument.docx");
Заключение
В этом уроке мы узнали, как переместить узел в отслеживаемом документе Word с помощью Aspose.Words для .NET. Выполнив шаги по созданию документа, включению отслеживания редакций, перемещению узла и остановке отслеживания редакций, мы смогли успешно выполнить эту манипуляцию. Aspose.Words for .NET — это мощный инструмент для обработки текстов с документами Word, предлагающий расширенные функции для управления версиями. Теперь вы можете использовать эти знания для перемещения узлов в своих собственных документах Word и отслеживания изменений с помощью Aspose.Words для .NET.
Часто задаваемые вопросы
Вопрос: Как включить отслеживание изменений в документе Aspose.Words for .NET?
О: Чтобы включить отслеживание изменений в документе Aspose.Words for .NET, вы можете использоватьStartTrackRevisions
методDocument
объект. Этот метод принимает в качестве параметров имя автора изменений и дату начала отслеживания изменений.
doc.StartTrackRevisions("Author", new DateTime(2020, 12, 23, 14, 0, 0));
Вопрос: Как переместить узел в отслеживаемом документе, не создавая изменений?
О: Если вы хотите переместить узел в отслеживаемом документе без создания изменений, вы можете использовать командуRemove
иInsertAfter
илиInsertBefore
методыNode
объект. Например, чтобы переместить абзац за другим абзацем, вы можете использовать следующий код:
Node nodeToMove = document.FirstSection.Body.Paragraphs[0];
Node referenceNode = document.FirstSection.Body.Paragraphs[1];
nodeToMove.Remove();
document.FirstSection.Body.InsertAfter(nodeToMove, referenceNode);
Вопрос: Как я могу остановить отслеживание изменений в документе Aspose.Words for .NET?
О: Чтобы прекратить отслеживание изменений в документе Aspose.Words for .NET, вы можете использоватьStopTrackRevisions
методDocument
объект.
doc.StopTrackRevisions();