Könyvjelzők elrejtése a Word-dokumentumban

Ebben a cikkben megvizsgáljuk a fenti C# forráskódot, hogy megértsük, hogyan kell használni a Könyvjelzők elrejtése funkciót az Aspose.Words for .NET könyvtárban. Ez a funkció lehetővé teszi egy adott könyvjelző megjelenítését vagy elrejtését a Word dokumentumban.

Előfeltételek

  • C# nyelv alapismerete.
  • .NET fejlesztői környezet telepített Aspose.Words könyvtárral.

1. lépés: A dokumentum betöltése

Használjuk aDocument osztály a meglévő dokumentum fájlból való betöltéséhez:

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Bookmarks.docx");

2. lépés: Adott könyvjelző megjelenítése vagy elrejtése

Használjuk aShowHideBookmarkedContentfunkció egy adott könyvjelző megjelenítéséhez vagy elrejtéséhez a dokumentumban. Ez a függvény paraméterként veszi a dokumentumot, a könyvjelző nevét és egy logikai értéket, amely jelzi, hogy a könyvjelzőt megjeleníteni vagy elrejteni:

ShowHideBookmarkedContent(doc, "MyBookmark1", false);

3. lépés: Mentse el a módosított dokumentumot

Használjuk aSave módszer a módosított dokumentum fájlba mentéséhez:

doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");

Példa forráskódra a Könyvjelzők elrejtése az Aspose.Words segítségével .NET-hez

Íme a teljes példaforráskód, amely bemutatja egy adott könyvjelző megjelenítését vagy elrejtését az Aspose.Words for .NET használatával:


	// A dokumentumok könyvtárának elérési útja.
	string dataDir = "YOUR DOCUMENT DIRECTORY";
	Document doc = new Document(dataDir + "Bookmarks.docx");

	ShowHideBookmarkedContent(doc, "MyBookmark1", false);
	
	doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");

ShowHideBookmarkedContent forráskód


public void ShowHideBookmarkedContent(Document doc, string bookmarkName, bool showHide)
        {
            Bookmark bm = doc.Range.Bookmarks[bookmarkName];

            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.MoveToDocumentEnd();

            // {IF "{MERGEFIELD könyvjelző}" = "igaz" "" ""}
            Field field = builder.InsertField("IF \"", null);
            builder.MoveTo(field.Start.NextSibling);
            builder.InsertField("MERGEFIELD " + bookmarkName + "", null);
            builder.Write("\" = \"true\" ");
            builder.Write("\"");
            builder.Write("\"");
            builder.Write(" \"\"");

            Node currentNode = field.Start;
            bool flag = true;
            while (currentNode != null && flag)
            {
                if (currentNode.NodeType == NodeType.Run)
                    if (currentNode.ToString(SaveFormat.Text).Trim() == "\"")
                        flag = false;

                Node nextNode = currentNode.NextSibling;

                bm.BookmarkStart.ParentNode.InsertBefore(currentNode, bm.BookmarkStart);
                currentNode = nextNode;
            }

            Node endNode = bm.BookmarkEnd;
            flag = true;
            while (currentNode != null && flag)
            {
                if (currentNode.NodeType == NodeType.FieldEnd)
                    flag = false;

                Node nextNode = currentNode.NextSibling;

                bm.BookmarkEnd.ParentNode.InsertAfter(currentNode, endNode);
                endNode = currentNode;
                currentNode = nextNode;
            }

            doc.MailMerge.Execute(new[] { bookmarkName }, new object[] { showHide });
        }
		

Következtetés

Ebben a cikkben megvizsgáltuk a C# forráskódot, hogy megértsük, hogyan használható az Aspose.Words for .NET Könyvjelzők elrejtése funkciója. Egy adott könyvjelző megjelenítéséhez vagy elrejtéséhez lépésről lépésre követtük a dokumentumot.

GYIK a könyvjelzők elrejtéséhez a Word dokumentumban

K: Megjeleníthetek vagy elrejthetek több könyvjelzőt ugyanabban a dokumentumban?

V: Igen, több könyvjelzőt is megjeleníthet vagy elrejthet ugyanabban a dokumentumban a 2. és 3. lépés megismétlésével minden feldolgozni kívánt könyvjelzőnél.

K: Működik a mellékelt kód más Word-dokumentumformátumokkal, például .doc vagy .docm?

V: Igen, a mellékelt kód az Aspose.Words által támogatott különféle Word-dokumentumformátumokkal működik, mint például a .doc és a .docm. Csak ügyeljen arra, hogy a megfelelő fájlnevet és elérési utat használja a dokumentum betöltésekor és mentésekor.

K: Hogyan jeleníthetek meg újra egy rejtett könyvjelzőt?

V: A rejtett könyvjelző ismételt megjelenítéséhez ugyanazt kell használniaShowHideBookmarkedContent függvény átadja az értékettrue a logikai paraméterhez, amely jelzi, hogy meg kell-e mutatni vagy el kell rejteni a könyvjelzőt.

K: Használhatok feltételeket a könyvjelzők megjelenítésére vagy elrejtésére a dokumentumban lévő egyesítő mezők értékei alapján?

V: Igen, feltételekkel és egyesítheti a mezőértékeket annak meghatározására, hogy a könyvjelző megjelenjen-e vagy elrejtve. Testreszabhatja a kódotShowHideBookmarkedContent függvényében figyelembe kell venni a megfelelő feltételeket és értékeket.

K: Hogyan törölhetek egy könyvjelzőt egy Word-dokumentumból az Aspose.Words for .NET használatával?

V: Könyvjelző eltávolításához Word-dokumentumból az Aspose.Words for .NET használatával, használja aRemoveBookmarks módszere aDocument osztály. Itt van egy minta kód:

doc.RemoveBookmarks("BookmarkName");