Anexar texto marcado em documento do Word
Neste artigo, exploraremos o código-fonte C# acima para entender como usar a função Append Bookmarked Text na biblioteca Aspose.Words for .NET. Este recurso permite adicionar o texto contido em um marcador específico de um documento do Word a outro documento.
Pré-requisitos
- Conhecimento básico da linguagem C#.
- Ambiente de desenvolvimento .NET com biblioteca Aspose.Words instalada.
Etapa 1: obter parágrafos do marcador
Antes de começarmos a adicionar o texto do marcador, precisamos obter os parágrafos que contêm o início e o fim do marcador. Isso pode ser feito acessando oBookmarkStart
eBookmarkEnd
propriedades do marcador:
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
Etapa 2: verifique os parágrafos principais
Verificamos se os parágrafos iniciais e finais têm pais válidos, ou seja, se realmente pertencem a um parágrafo. Caso contrário, geramos uma exceção:
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"The parent of the beginning or the end of the bookmark is not a paragrap
hey, this situation can't be handled yet.");
Etapa 3: verifique os pais dos parágrafos
Verificamos se os parágrafos inicial e final têm o mesmo pai. Caso contrário, isso significa que os parágrafos não estão contidos na mesma seção ou documento e estamos lançando uma exceção:
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Beginning and ending paragraphs have different parents, this situation cannot be handled yet.");
Etapa 4: copiar parágrafos
Iteramos pelos nós (parágrafos) do parágrafo inicial ao parágrafo final. Para cada nó, criamos uma cópia e a importamos para o contexto do documento de destino:
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
Exemplo de código-fonte para acrescentar texto marcado como favorito usando Aspose.Words for .NET
Aqui está o exemplo de código-fonte completo para demonstrar a adição de texto de um marcador usando Aspose.Words for .NET:
// Este é o parágrafo que contém o início do marcador.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// Este é o parágrafo que contém o final do marcador.
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"Parent of the bookmark start or end is not a paragraph, cannot handle this scenario yet.");
// Limitamo-nos a um cenário razoavelmente simples.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// Queremos copiar todos os parágrafos desde o parágrafo inicial até (e incluindo) o parágrafo final,
// portanto, o nó no qual paramos é aquele após o parágrafo final.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//Isso cria uma cópia do nó atual e o importa (torna-o válido) no contexto
// do documento de destino. Importar significa ajustar estilos e identificadores de lista corretamente.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
Conclusão
Neste artigo, exploramos o código-fonte C# para entender como usar a função Append Bookmarked Text do Aspose.Words for .NET. Seguimos um guia passo a passo para obter parágrafos de um marcador, verificar os pais e copiar parágrafos para outro documento.
Perguntas frequentes sobre como anexar texto marcado em um documento do Word
Q1: Quais são os pré-requisitos para usar o recurso “Adicionar texto com marcadores” no Aspose.Words for .NET?
R: Para usar a função “Adicionar texto com marcadores” no Aspose.Words for .NET, você precisa ter conhecimento básico da linguagem C#. Você também precisa de um ambiente de desenvolvimento .NET com a biblioteca Aspose.Words instalada.
Q2: Como obter os parágrafos que contêm o início e o fim de um marcador em um documento do Word?
R: Para obter os parágrafos que contêm o início e o fim de um marcador em um documento do Word, você pode acessar oBookmarkStart
eBookmarkEnd
propriedades do marcador. Aqui está um exemplo de código:
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
Q3: O que acontece se os parágrafos inicial e final não tiverem pais válidos?
R: Se os parágrafos inicial e final não tiverem pais válidos, ou seja, não forem realmente parágrafos, uma exceção será lançada. Esta situação não pode ser gerida neste momento.