Alak felülvizsgálata
Ebben a lépésenkénti útmutatóban végigvezetjük, hogyan módosíthatja az alakzatokat egy Word-dokumentumban az Aspose.Words for .NET használatával. Megadjuk Önnek a teljes forráskódot, és megmutatjuk, hogyan kell formázni a markdown kimenetet.
1. lépés: A dokumentum létrehozása és alakzatok hozzáadása
Az első lépés egy új dokumentum létrehozása és alakzatok hozzáadása.
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. lépés: Kövesse nyomon a változatokat, és adjon hozzá egy másik alakzatot
Bekapcsoljuk a revíziókövetést, és hozzáadunk egy másik alakzatot.
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. lépés: Szerezze be az alakzatgyűjteményt, és ellenőrizze a revíziókat
Lekérjük az alakzatok gyűjteményét a dokumentumból, és ellenőrizzük az egyes alakzatokhoz tartozó változatokat.
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. lépés: Az alakmozgatási változatok ellenőrzése
Be fogunk tölteni egy meglévő dokumentumot, amely alakeltolódási változatokat tartalmaz, és ellenőrizni fogjuk a kapcsolódó változatokat.
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élda a Shape Revision forráskódjához az Aspose.Words for .NET használatával
Itt található a teljes forráskód a dokumentum alakzatainak módosításához az Aspose.Words for .NET használatával:
Document doc = new Document();
//Szúrjon be egy soros alakzatot a revíziók követése nélkül.
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);
// Kezdje el követni a változatokat, majd szúrjon be egy másik alakzatot.
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);
// Szerezze be a dokumentum alakzatgyűjteményét, amely csak az általunk hozzáadott két alakzatot tartalmazza.
List<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);
// Távolítsa el az első formát.
shapes[0].Remove();
// Mivel eltávolítottuk az alakzatot a változások követése közben, az alakzat törlési változatnak számít.
Assert.AreEqual(ShapeType.Cube, shapes[0].ShapeType);
Assert.True(shapes[0].IsDeleteRevision);
// És beszúrtunk egy másik alakzatot a változások követése közben, így ez az alakzat beszúrási változatnak számít.
Assert.AreEqual(ShapeType.Sun, shapes[1].ShapeType);
Assert.True(shapes[1].IsInsertRevision);
// A dokumentumnak egy alakzata van, amelyet áthelyeztek, de az alakmozgatási változatokban ennek az alakzatnak két példánya lesz.
// Az egyik az érkezési helyén lévő alakzat, a másik pedig az eredeti helyén lévő alakzat lesz.
doc = new Document(MyDir + "Revision shape.docx");
shapes = doc.GetChildNodes(NodeType.Shape, true).Cast<Shape>().ToList();
Assert.AreEqual(2, shapes.Count);
// Ez a revízióhoz való lépés, egyben az érkezési cél alakzata is.
Assert.False(shapes[0].IsMoveFromRevision);
Assert.True(shapes[0].IsMoveToRevision);
// Ez az elmozdulás a revízióból, ami az eredeti helyén lévő alakzat.
Assert.True(shapes[1].IsMoveFromRevision);
Assert.False(shapes[1].IsMoveToRevision);
Következtetés
Ebben az oktatóanyagban megtanultuk, hogyan lehet Word-dokumentumban lévő alakzatokat módosítani az Aspose.Words for .NET használatával. A dokumentum létrehozásának lépéseit követve, a revíziókövetés engedélyezésével, az egyes alakzatokhoz tartozó revíziók ellenőrzésével és az alakzatok mozgatásához szükséges revíziók ellenőrzésével sikeresen tudtuk kezelni a revíziókat. Az Aspose.Words for .NET hatékony API-t kínál a szövegfeldolgozáshoz Word-dokumentumokban található áttekintésekkel és űrlapokkal.
GYIK
K: Hogyan tudok új dokumentumot létrehozni és alakzatokat hozzáadni az Aspose.Words for .NET-hez?
V: Új dokumentum létrehozásához és alakzatok hozzáadásához az Aspose.Words for .NET-ben a következő kódot használhatja. Itt adunk hozzá két alakzatot, egy kockát és egy napot a dokumentum első részéhez:
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);
K: Hogyan engedélyezhetem a revíziókövetést az Aspose.Words for .NET-ben?
V: A revíziókövetés engedélyezéséhez az Aspose.Words for .NET-ben aStartTrackRevisions
módszere aDocument
tárgy. Ez a metódus a revíziók szerzőjének nevét veszi paraméterként:
doc.StartTrackRevisions("John Doe");
K: Hogyan ellenőrizhetem az egyes alakzatokhoz tartozó változatokat egy Aspose.Words for .NET dokumentumban?
V: Az Aspose.Words for .NET dokumentumban lévő egyes alakzatokhoz tartozó változatok ellenőrzéséhez a dokumentum alakzatgyűjteményét aGetChildNodes
módszerrel aNodeType.Shape
csomópont típusa. Ezután elérheti az egyes alakzatokatIsDeleteRevision
, IsInsertRevision
, IsMoveFromRevision
, ésIsMoveToRevision
tulajdonságok az alakzathoz társított revízió típusának meghatározásához:
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);
K: Hogyan ellenőrizhetem az Aspose.Words for .NET dokumentumban lévő alakzatok eltolási változatait?
V: Ha egy Aspose.Words for .NET-dokumentumban szeretné ellenőrizni az alakeltolódás-revíziókat, betölthet egy meglévő dokumentumot, amely alakeltolódás-változatokat tartalmaz. Ezután elérheti az egyes alakzatokatIsMoveFromRevision
ésIsMoveToRevision
tulajdonságai annak meghatározásához, hogy áthelyezik-e, és ha igen, honnan és hová:
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);