Formrevision

In dieser Schritt-für-Schritt-Anleitung zeigen wir Ihnen, wie Sie mit Aspose.Words für .NET Änderungen an Formen in einem Word-Dokument vornehmen. Wir stellen Ihnen den vollständigen Quellcode zur Verfügung und zeigen Ihnen, wie Sie die Markdown-Ausgabe formatieren.

Schritt 1: Dokument erstellen und Formen hinzufügen

Der erste Schritt besteht darin, ein neues Dokument zu erstellen und Formen hinzuzufügen.

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);

Schritt 2: Überarbeitungen verfolgen und eine weitere Form hinzufügen

Wir aktivieren die Revisionsverfolgung und fügen eine weitere Form hinzu.

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);

Schritt 3: Holen Sie sich die Formensammlung und prüfen Sie, ob Änderungen vorliegen

Wir rufen die Formensammlung aus dem Dokument ab und überprüfen die mit jeder Form verbundenen Revisionen.

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);

Schritt 4: Überprüfen der Formverschiebungsrevisionen

Wir werden ein vorhandenes Dokument laden, das Formverschiebungsrevisionen enthält, und die zugehörigen Revisionen überprüfen.

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);

Beispielquellcode für Shape Revision mit Aspose.Words für .NET

Hier ist der vollständige Quellcode zum Überarbeiten von Formen in einem Dokument mit Aspose.Words für .NET:

Document doc = new Document();

//Fügen Sie eine Inline-Form ein, ohne Revisionen zu verfolgen.
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);

// Beginnen Sie mit der Nachverfolgung von Revisionen und fügen Sie dann eine weitere Form ein.
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);

// Rufen Sie die Formensammlung des Dokuments ab, die nur die beiden von uns hinzugefügten Formen enthält.
List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

// Entfernen Sie die erste Form.
shapes[0].Remove();

// Da wir diese Form während der Nachverfolgung der Änderungen entfernt haben, gilt die Form als gelöschte Revision.
Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);

// Und wir haben beim Verfolgen von Änderungen eine weitere Form eingefügt, sodass diese Form als Einfügungsrevision zählt.
Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);

// Das Dokument verfügt über eine Form, die verschoben wurde, aber Überarbeitungen der Formverschiebung enthalten zwei Instanzen dieser Form.
// Eine davon ist die Form am Ankunftsziel und die andere die Form an ihrem ursprünglichen Standort.
doc = new Document(MyDir + "Revision shape.docx");

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

// Dies ist der Schritt zur Überarbeitung, auch die Form an ihrem Zielort.
Assert.False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);

// Dies ist die Verschiebung von der Revision, bei der es sich um die Form an ihrer ursprünglichen Position handelt.
Assert.True(shapes[1].IsMoveFromRevision);
Assert.False(shapes[1].IsMoveToRevision);

Abschluss

In diesem Tutorial haben wir gelernt, wie man mit Aspose.Words für .NET Überarbeitungen an Formen in einem Word-Dokument vornimmt. Durch Befolgen der Schritte zum Erstellen des Dokuments, Aktivieren der Revisionsverfolgung, Überprüfen der mit jeder Form verknüpften Revisionen und Überprüfen der Revisionen zum Verschieben der Formen konnten wir die Revisionen erfolgreich verwalten. Aspose.Words für .NET bietet eine leistungsstarke API für die Textverarbeitung mit Rezensionen und Formularen in Word-Dokumenten.

FAQs

F: Wie kann ich in Aspose.Words für .NET ein neues Dokument erstellen und Formen hinzufügen?

A: Um ein neues Dokument zu erstellen und Formen in Aspose.Words für .NET hinzuzufügen, können Sie den folgenden Code verwenden. Hier fügen wir dem ersten Abschnitt des Dokuments zwei Formen hinzu, einen Würfel und eine Sonne:

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);

F: Wie aktiviere ich die Revisionsverfolgung in Aspose.Words für .NET?

A: Um die Revisionsverfolgung in Aspose.Words für .NET zu aktivieren, können Sie die verwendenStartTrackRevisions Methode derDocument Objekt. Diese Methode verwendet den Namen des Autors der Revisionen als Parameter:

doc.StartTrackRevisions("John Doe");

F: Wie kann ich die Revisionen überprüfen, die jeder Form in einem Aspose.Words für .NET-Dokument zugeordnet sind?

A: Um die Revisionen zu überprüfen, die jeder Form in einem Aspose.Words für .NET-Dokument zugeordnet sind, können Sie die Formensammlung des Dokuments mithilfe von abrufenGetChildNodes Methode mit derNodeType.Shape Knotentyp. Dann können Sie auf die einzelnen Formen zugreifenIsDeleteRevision, IsInsertRevision, IsMoveFromRevision , UndIsMoveToRevision Eigenschaften, um zu bestimmen, welcher Revisionstyp mit der Form verknüpft ist:

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);

F: Wie kann ich in einem Aspose.Words für .NET-Dokument nach Verschiebungsrevisionen von Formen suchen?

A: Um nach Formverschiebungsrevisionen in einem Aspose.Words für .NET-Dokument zu suchen, können Sie ein vorhandenes Dokument laden, das Formverschiebungsrevisionen enthält. Dann können Sie auf die einzelnen Formen zugreifenIsMoveFromRevision UndIsMoveToRevision Eigenschaften, um festzustellen, ob es verschoben wird und wenn ja, von wo und wohin:

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);