Mostrar ocultar marcadores em documento do Word
Neste artigo, exploraremos o código-fonte C# acima para entender como usar a função Show Hide Bookmarks na biblioteca Aspose.Words for .NET. Este recurso permite mostrar ou ocultar um marcador específico em um documento do Word.
Pré-requisitos
- Conhecimento básico da linguagem C#.
- Ambiente de desenvolvimento .NET com biblioteca Aspose.Words instalada.
Passo 1: Carregando o documento
Nós usamos oDocument
classe para carregar o documento existente de um arquivo:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Bookmarks.docx");
Etapa 2: mostrar ou ocultar um favorito específico
Nós usamos oShowHideBookmarkedContent
função para mostrar ou ocultar um marcador específico no documento. Esta função toma como parâmetros o documento, o nome do bookmark e um booleano para indicar se deve mostrar ou ocultar o bookmark:
ShowHideBookmarkedContent(doc, "MyBookmark1", false);
Passo 3: Salvando o documento modificado
Nós usamos oSave
método para salvar o documento modificado em um arquivo:
doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");
Exemplo de código-fonte para Show Hide Bookmarks usando Aspose.Words for .NET
Aqui está o exemplo de código-fonte completo para demonstrar a exibição ou ocultação de um marcador específico usando Aspose.Words for .NET:
// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Bookmarks.docx");
ShowHideBookmarkedContent(doc, "MyBookmark1", false);
doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");
Código-fonte ShowHideBookmarkedContent
public void ShowHideBookmarkedContent(Document doc, string bookmarkName, bool showHide)
{
Bookmark bm = doc.Range.Bookmarks[bookmarkName];
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
// {IF "{marcador MERGEFIELD}" = "true" "" ""}
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 });
}
Conclusão
Neste artigo, exploramos o código-fonte C# para entender como usar o recurso Show Hide Bookmarks do Aspose.Words for .NET. Seguimos um guia passo a passo para mostrar ou ocultar um marcador específico em um documento.
Perguntas frequentes sobre mostrar e ocultar marcadores em documentos do Word
P: Posso mostrar ou ocultar vários marcadores no mesmo documento?
R: Sim, você pode mostrar ou ocultar vários marcadores no mesmo documento repetindo as etapas 2 e 3 para cada marcador que deseja processar.
P: O código fornecido funciona com outros formatos de documentos do Word, como .doc ou .docm?
R: Sim, o código fornecido funciona com vários formatos de documentos do Word suportados pelo Aspose.Words, como .doc e .docm. Apenas certifique-se de usar o nome de arquivo e caminho corretos ao carregar e salvar o documento.
P: Como posso mostrar um marcador oculto novamente?
R: Para mostrar um marcador oculto novamente, você precisa usar o mesmoShowHideBookmarkedContent
função passando o valortrue
para o parâmetro booleano que indica se o marcador deve ser mostrado ou ocultado.
P: Posso usar condições para mostrar ou ocultar marcadores com base nos valores dos campos de mesclagem no documento?
R: Sim, você pode usar condições e mesclar valores de campos para determinar se um marcador deve ser mostrado ou ocultado. Você pode personalizar o código doShowHideBookmarkedContent
função para levar em conta as condições e valores apropriados.
P: Como posso excluir um marcador em um documento do Word usando Aspose.Words for .NET?
R: Para remover um marcador em um documento do Word usando Aspose.Words for .NET, você pode usar oRemoveBookmarks
método doDocument
aula. Aqui está um exemplo de código:
doc.RemoveBookmarks("BookmarkName");