Visa Göm bokmärken i Word-dokument

I den här artikeln kommer vi att utforska C#-källkoden ovan för att förstå hur man använder funktionen Show Hide Bookmarks i Aspose.Words for .NET-biblioteket. Denna funktion låter dig visa eller dölja ett specifikt bokmärke i Word-dokument.

Förutsättningar

  • Grundläggande kunskaper i C#-språket.
  • .NET-utvecklingsmiljö med Aspose.Words-biblioteket installerat.

Steg 1: Ladda dokumentet

Vi använderDocument klass för att ladda det befintliga dokumentet från en fil:

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

Steg 2: Visa eller dölj ett specifikt bokmärke

Vi använderShowHideBookmarkedContentfunktion för att visa eller dölja ett specifikt bokmärke i dokumentet. Den här funktionen tar som parametrar dokumentet, namnet på bokmärket och en boolean för att indikera om bokmärket ska visas eller döljas:

ShowHideBookmarkedContent(doc, "MyBookmark1", false);

Steg 3: Spara det ändrade dokumentet

Vi använderSave metod för att spara det ändrade dokumentet till en fil:

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

Exempel på källkod för Show Hide Bookmarks med Aspose.Words för .NET

Här är det fullständiga exemplet på källkoden för att visa eller dölja ett specifikt bokmärke med Aspose.Words för .NET:


	// Sökvägen till dokumentkatalogen.
	string dataDir = "YOUR DOCUMENT DIRECTORY";
	Document doc = new Document(dataDir + "Bookmarks.docx");

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

ShowHideBookmarkedContent källkod


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

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

            // {IF "{MERGEFIELD bookmark}" = "sant" "" ""}
            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 });
        }
		

Slutsats

I den här artikeln utforskade vi C#-källkoden för att förstå hur man använder funktionen Visa göm bokmärken i Aspose.Words för .NET. Vi följde en steg-för-steg-guide för att visa eller dölja ett specifikt bokmärke i ett dokument.

Vanliga frågor för att visa gömma bokmärken i word-dokument

F: Kan jag visa eller dölja flera bokmärken i samma dokument?

S: Ja, du kan visa eller dölja flera bokmärken i samma dokument genom att upprepa steg 2 och 3 för varje bokmärke du vill bearbeta.

F: Fungerar den medföljande koden med andra Word-dokumentformat, som .doc eller .docm?

S: Ja, den medföljande koden fungerar med olika Word-dokumentformat som stöds av Aspose.Words, såsom .doc och .docm. Se bara till att använda rätt filnamn och sökväg när du laddar och sparar dokumentet.

F: Hur kan jag visa ett dolt bokmärke igen?

S: För att visa ett dolt bokmärke igen måste du använda detsammaShowHideBookmarkedContent funktion som skickar värdettrue för den booleska parametern som anger om bokmärket ska visas eller döljas.

F: Kan jag använda villkor för att visa eller dölja bokmärken baserat på sammanslagningsfältsvärden i dokumentet?

S: Ja, du kan använda villkor och slå samman fältvärden för att avgöra om ett bokmärke ska visas eller döljas. Du kan anpassa koden förShowHideBookmarkedContent funktion för att ta hänsyn till lämpliga villkor och värden.

F: Hur kan jag ta bort ett bokmärke i ett Word-dokument med Aspose.Words för .NET?

S: För att ta bort ett bokmärke i ett Word-dokument med Aspose.Words för .NET, kan du användaRemoveBookmarks metod förDocument klass. Här är en exempelkod:

doc.RemoveBookmarks("BookmarkName");