Редакция формы

В этом пошаговом руководстве мы расскажем, как вносить изменения в фигуры в документе Word с помощью Aspose.Words для .NET. Мы предоставим вам полный исходный код и покажем, как форматировать выходные данные уценки.

Шаг 1. Создание документа и добавление фигур

Первый шаг — создать новый документ и добавить фигуры.

Document doc = new Document();
Assert.False(doc.TrackRevisions);

Shape shape = new Shape(doc, ShapeType.Cube);
shape. WrapType = WrapType. Inline;
shape. Width = 100.0;
shape. Height = 100.0;
doc.FirstSection.Body.FirstParagraph.AppendChild(shape);

Шаг 2. Отслеживайте изменения и добавьте еще одну фигуру.

Мы включим отслеживание изменений и добавим еще одну фигуру.

doc.StartTrackRevisions("John Doe");

shape = new Shape(doc, ShapeType.Sun);
shape. WrapType = WrapType. Inline;
shape. Width = 100.0;
shape. Height = 100.0;
doc.FirstSection.Body.FirstParagraph.AppendChild(shape);

Шаг 3. Получите коллекцию фигур и проверьте наличие изменений.

Мы получим коллекцию фигур из документа и проверим версии, связанные с каждой фигурой.

List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);

Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);

Шаг 4. Проверка изменений перемещения фигуры

Мы собираемся загрузить существующий документ, содержащий версии смещения формы, и проверить связанные версии.

doc = new Document(MyDir + "Revision shape.docx");

shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

Assert. False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);

Assert.True(shapes[1].IsMoveFromRevision);
Assert. False(shapes[1].IsMoveToRevision);

Пример исходного кода для Shape Revision с использованием Aspose.Words для .NET

Вот полный исходный код для внесения изменений в фигуры в документе с помощью Aspose.Words для .NET:

Document doc = new Document();

//Вставьте встроенную фигуру без отслеживания изменений.
Assert.False(doc.TrackRevisions);
Shape shape = new Shape(doc, ShapeType.Cube);
shape.WrapType = WrapType.Inline;
shape.Width = 100.0;
shape.Height = 100.0;
doc.FirstSection.Body.FirstParagraph.AppendChild(shape);

// Начните отслеживать изменения, а затем вставьте другую фигуру.
doc.StartTrackRevisions("John Doe");
shape = new Shape(doc, ShapeType.Sun);
shape.WrapType = WrapType.Inline;
shape.Width = 100.0;
shape.Height = 100.0;
doc.FirstSection.Body.FirstParagraph.AppendChild(shape);

// Получите коллекцию фигур документа, включающую только две добавленные нами фигуры.
List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

// Удалите первую фигуру.
shapes[0].Remove();

// Поскольку мы удалили эту фигуру во время отслеживания изменений, она считается удаленной версией.
Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);

// И мы вставили еще одну фигуру, отслеживая изменения, поэтому эта фигура будет считаться вставленной версией.
Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);

// В документе есть одна фигура, которая была перемещена, но версии перемещения фигуры будут содержать два экземпляра этой фигуры.
// Одна из них будет фигурой в пункте назначения, а другая — фигурой в исходном месте.
doc = new Document(MyDir + "Revision shape.docx");

shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

// Это переход к пересмотру, а также форма в пункте назначения.
Assert.False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);

// Это переход от редакции, которая представляет собой форму на исходном месте.
Assert.True(shapes[1].IsMoveFromRevision);
Assert.False(shapes[1].IsMoveToRevision);

Заключение

В этом уроке мы узнали, как вносить изменения в фигуры в документе Word с помощью Aspose.Words для .NET. Выполнив этапы создания документа, включив отслеживание изменений, проверив изменения, связанные с каждой фигурой, и проверив изменения для перемещения фигур, мы смогли успешно управлять изменениями. Aspose.Words for .NET предлагает мощный API для обработки текстов с обзорами и формами в документах Word.

Часто задаваемые вопросы

Вопрос: Как создать новый документ и добавить фигуры в Aspose.Words для .NET?

О: Чтобы создать новый документ и добавить фигуры в Aspose.Words for .NET, вы можете использовать следующий код. Здесь мы добавляем две фигуры, куб и солнце, в первый раздел документа:

Document doc = new Document();
Assert.False(doc.TrackRevisions);

Shape shape = new Shape(doc, ShapeType.Cube);
shape. WrapType = WrapType. Inline;
shape. Width = 100.0;
shape. Height = 100.0;
doc.FirstSection.Body.FirstParagraph.AppendChild(shape);

Вопрос: Как включить отслеживание версий в Aspose.Words для .NET?

О: Чтобы включить отслеживание версий в Aspose.Words для .NET, вы можете использоватьStartTrackRevisions методDocument объект. Этот метод принимает имя автора ревизий в качестве параметра:

doc.StartTrackRevisions("John Doe");

Вопрос: Как я могу проверить версии, связанные с каждой фигурой в документе Aspose.Words for .NET?

О: Чтобы проверить версии, связанные с каждой фигурой в документе Aspose.Words for .NET, вы можете получить коллекцию фигур документа, используя командуGetChildNodes метод сNodeType.Shape тип узла. Затем вы можете получить доступ к каждой фигуреIsDeleteRevision, IsInsertRevision, IsMoveFromRevision , иIsMoveToRevision свойства, чтобы определить, какой тип редакции связан с формой:

List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);

Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);

Вопрос: Как я могу проверить наличие изменений смещения фигур в документе Aspose.Words for .NET?

О: Чтобы проверить наличие изменений смещения формы в документе Aspose.Words for .NET, вы можете загрузить существующий документ, содержащий изменения смещения формы. Затем вы можете получить доступ к каждой фигуреIsMoveFromRevision иIsMoveToRevision свойства, чтобы определить, перемещается ли он, и если да, то откуда и куда:

doc = new Document(MyDir + "Revision shape.docx");

shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

Assert. False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);

Assert.True(shapes[1].IsMoveFromRevision);
Assert. False(shapes[1].IsMoveToRevision);