Revize tvaru

tomto podrobném průvodci vás provedeme tím, jak provádět revize tvarů v dokumentu aplikace Word pomocí Aspose.Words for .NET. Poskytneme vám kompletní zdrojový kód a ukážeme vám, jak formátovat výstup markdown.

Krok 1: Vytvoření dokumentu a přidání tvarů

Prvním krokem je vytvoření nového dokumentu a přidání tvarů.

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

Krok 2: Sledujte revize a přidejte další tvar

Zapneme sledování revizí a přidáme další tvar.

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

Krok 3: Získejte kolekci tvarů a zkontrolujte revize.

Získáme kolekci tvarů z dokumentu a zkontrolujeme revize spojené s každým tvarem.

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

Krok 4: Kontrola revizí přesunu tvaru

Chystáme se načíst existující dokument obsahující revize posunutí tvaru a zkontrolovat související revize.

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

Příklad zdrojového kódu pro revizi tvaru pomocí Aspose.Words pro .NET

Zde je úplný zdrojový kód pro provádění revizí tvarů v dokumentu pomocí Aspose.Words pro .NET:

Document doc = new Document();

//Vložte vložený tvar bez revizí sledování.
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);

// Začněte sledovat revize a poté vložte jiný tvar.
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);

// Získejte kolekci tvarů dokumentu, která obsahuje pouze dva tvary, které jsme přidali.
List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);

// Odstraňte první tvar.
shapes[0].Remove();

// Protože jsme tento tvar odstranili během sledování změn, tvar se počítá jako odstraněná revize.
Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);

// A při sledování změn jsme vložili další tvar, takže tento tvar se bude počítat jako revize vložení.
Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);

// Dokument má jeden tvar, který byl přesunut, ale revize přesunu tvaru budou mít dvě instance tohoto tvaru.
// Jeden bude tvar v místě jeho příletu a druhý bude tvar v jeho původním umístění.
doc = new Document(MyDir + "Revision shape.docx");

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

// Toto je přechod na revizi, také tvar v místě příjezdu.
Assert.False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);

// Toto je posun od revize, což je tvar na svém původním místě.
Assert.True(shapes[1].IsMoveFromRevision);
Assert.False(shapes[1].IsMoveToRevision);

Závěr

tomto tutoriálu jsme se naučili, jak provádět revize tvarů v dokumentu aplikace Word pomocí Aspose.Words for .NET. Sledováním kroků vytvoření dokumentu, povolením sledování revizí, kontrolou revizí spojených s každým tvarem a kontrolou revizí pro přesun tvarů jsme byli schopni úspěšně spravovat revize. Aspose.Words for .NET nabízí výkonné rozhraní API pro zpracování textu s recenzemi a formuláři v dokumentech aplikace Word.

FAQ

Otázka: Jak mohu vytvořit nový dokument a přidat tvary v Aspose.Words pro .NET?

A: Chcete-li vytvořit nový dokument a přidat tvary v Aspose.Words pro .NET, můžete použít následující kód. Zde přidáme do první části dokumentu dva tvary, krychli a slunce:

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

Otázka: Jak povolím sledování revizí v Aspose.Words pro .NET?

A: Chcete-li povolit sledování revizí v Aspose.Words pro .NET, můžete použítStartTrackRevisions metodaDocument objekt. Tato metoda bere jako parametr jméno autora revizí:

doc.StartTrackRevisions("John Doe");

Otázka: Jak mohu zkontrolovat revize spojené s každým obrazcem v dokumentu Aspose.Words for .NET?

Odpověď: Chcete-li zkontrolovat revize spojené s každým tvarem v dokumentu Aspose.Words for .NET, můžete získat kolekci tvarů dokumentu pomocíGetChildNodes metoda sNodeType.Shape typ uzlu. Poté můžete přistupovat ke každému tvaruIsDeleteRevision, IsInsertRevision, IsMoveFromRevision , aIsMoveToRevision vlastnosti k určení, jaký typ revize je spojen s tvarem:

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

Otázka: Jak mohu zkontrolovat revize přemístění tvarů v dokumentu Aspose.Words for .NET?

Odpověď: Chcete-li zkontrolovat revize posunutí tvaru v dokumentu Aspose.Words for .NET, můžete načíst existující dokument, který obsahuje revize posunutí tvaru. Poté můžete přistupovat ke každému tvaruIsMoveFromRevision aIsMoveToRevision vlastnosti, abyste zjistili, zda se přesouvá, a pokud ano, odkud a kam:

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