Rewizja kształtu
tym przewodniku krok po kroku przeprowadzimy Cię przez proces wprowadzania poprawek do kształtów w dokumencie programu Word przy użyciu Aspose.Words dla .NET. Dostarczymy Ci pełny kod źródłowy i pokażemy, jak sformatować wynik przeceny.
Krok 1: Tworzenie dokumentu i dodawanie kształtów
Pierwszym krokiem jest utworzenie nowego dokumentu i dodanie kształtów.
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: Śledź poprawki i dodaj kolejny kształt
Włączymy śledzenie wersji i dodamy kolejny kształt.
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: Pobierz kolekcję kształtów i sprawdź, czy nie ma poprawek
Pobierzemy kolekcję kształtów z dokumentu i sprawdzimy wersje powiązane z każdym kształtem.
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: Sprawdzanie wersji przenoszenia kształtu
Załadujemy istniejący dokument zawierający wersje przemieszczeń kształtu i sprawdzimy powiązane wersje.
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);
Przykładowy kod źródłowy dla Shape Revision przy użyciu Aspose.Words dla .NET
Oto kompletny kod źródłowy umożliwiający wprowadzanie poprawek do kształtów w dokumencie przy użyciu Aspose.Words dla .NET:
Document doc = new Document();
//Wstaw kształt osadzony bez śledzenia wersji.
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);
// Rozpocznij śledzenie wersji, a następnie wstaw inny kształt.
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);
// Pobierz kolekcję kształtów dokumentu, która zawiera tylko dwa dodane przez nas kształty.
List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);
// Usuń pierwszy kształt.
shapes[0].Remove();
// Ponieważ usunęliśmy ten kształt podczas śledzenia zmian, kształt liczy się jako usunięta wersja.
Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);
// Śledząc zmiany, wstawiliśmy kolejny kształt, więc ten kształt będzie się liczył jako wersja wstawiania.
Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);
// Dokument zawiera jeden kształt, który został przeniesiony, ale wersje polegające na przeniesieniu kształtu będą miały dwa wystąpienia tego kształtu.
// Jeden będzie kształtem w miejscu docelowym, a drugi będzie kształtem w jego pierwotnej lokalizacji.
doc = new Document(MyDir + "Revision shape.docx");
shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);
// Jest to ruch do rewizji, także kształtu w miejscu docelowym.
Assert.False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);
// Jest to przejście od rewizji, czyli kształtu w jego pierwotnym położeniu.
Assert.True(shapes[1].IsMoveFromRevision);
Assert.False(shapes[1].IsMoveToRevision);
Wniosek
tym samouczku nauczyliśmy się, jak wprowadzać poprawki do kształtów w dokumencie programu Word przy użyciu Aspose.Words dla .NET. Postępując zgodnie z etapami tworzenia dokumentu, włączając śledzenie wersji, sprawdzając wersje powiązane z każdym kształtem i sprawdzając wersje pod kątem przenoszenia kształtów, byliśmy w stanie pomyślnie zarządzać wersjami. Aspose.Words dla .NET oferuje potężny interfejs API do przetwarzania tekstu z recenzjami i formularzami w dokumentach Word.
Często zadawane pytania
P: Jak mogę utworzyć nowy dokument i dodać kształty w Aspose.Words dla .NET?
O: Aby utworzyć nowy dokument i dodać kształty w Aspose.Words dla .NET, możesz użyć poniższego kodu. Tutaj dodajemy dwa kształty, sześcian i słońce, do pierwszej części dokumentu:
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);
P: Jak włączyć śledzenie wersji w Aspose.Words dla .NET?
O: Aby włączyć śledzenie wersji w Aspose.Words dla .NET, możesz użyćStartTrackRevisions
metodaDocument
obiekt. Ta metoda przyjmuje jako parametr nazwisko autora wersji:
doc.StartTrackRevisions("John Doe");
P: Jak mogę sprawdzić wersje powiązane z każdym kształtem w dokumencie Aspose.Words dla .NET?
O: Aby sprawdzić wersje powiązane z każdym kształtem w dokumencie Aspose.Words for .NET, możesz uzyskać kolekcję kształtów dokumentu za pomocąGetChildNodes
metoda zNodeType.Shape
typ węzła. Następnie możesz uzyskać dostęp do każdego kształtuIsDeleteRevision
, IsInsertRevision
, IsMoveFromRevision
, IIsMoveToRevision
właściwości, aby określić, jaki typ rewizji jest powiązany z kształtem:
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);
P: Jak mogę sprawdzić przemieszczenia kształtów w dokumencie Aspose.Words dla .NET?
Odp.: Aby sprawdzić zmiany przemieszczeń kształtu w dokumencie Aspose.Words for .NET, możesz załadować istniejący dokument zawierający wersje przesunięć kształtu. Następnie możesz uzyskać dostęp do każdego kształtuIsMoveFromRevision
IIsMoveToRevision
właściwości, aby określić, czy jest przenoszony, a jeśli tak, skąd i dokąd:
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);