Modificar controles de conteúdo

Este tutorial explica como modificar diferentes tipos de controles de conteúdo em um documento do Word usando Aspose.Words for .NET. Você pode atualizar o texto, o valor selecionado de uma lista suspensa ou substituir uma imagem nos controles de conteúdo.

Pré-requisitos

Para seguir este tutorial, você precisa ter o seguinte:

  • Biblioteca Aspose.Words para .NET instalada.
  • Conhecimento básico de C# e processamento de palavras com documentos Word.

Etapa 1: configurar o diretório de documentos

Comece configurando o caminho para o diretório do seu documento. Substituir"YOUR DOCUMENT DIRECTORY" com o caminho real para o diretório onde seu documento está localizado.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Etapa 2: carregar o documento e iterar sobre os controles de conteúdo

Carregue o documento do Word usando oDocumentconstrutor, passando o caminho para o documento como parâmetro. Itere sobre todas as tags de documento estruturadas no documento usando umforeach laço.

Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
    // Execute ações com base no tipo de controle de conteúdo
}

Etapa 3: modificar o controle de conteúdo de texto simples

Para controles de conteúdo do tipoSdtType.PlainText, remova todos os filhos existentes, crie um novo parágrafo e anexe uma execução com o texto desejado.

case SdtType.PlainText:
{
    sdt.RemoveAllChildren();
    Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
    Run run = new Run(doc, "new text goes here");
    para.AppendChild(run);
    break;
}

Etapa 4: modificar o controle de conteúdo da lista suspensa

Para controles de conteúdo do tipoSdtType.DropDownList , atualize o valor selecionado definindo-o para um valor específicoSdtListItem.

case SdtType.DropDownList:
{
    SdtListItem secondItem = sdt.ListItems[2];
    sdt.ListItems.SelectedValue = secondItem;
    break;
}

Etapa 5: modificar o controle de conteúdo de imagem

Para controles de conteúdo do tipoSdtType.Picture, recupere a forma dentro do controle de conteúdo e substitua sua imagem por uma nova.

case SdtType.Picture:
{
    Shape shape = (Shape)sdt.GetChild(NodeType.Shape, 0, true);
    if (shape.HasImage)
    {
        shape.ImageData.SetImage(ImagesDir + "Watermark.png");
    }
    break;
}

Etapa 6: salve o documento modificado

Salve o documento modificado no diretório especificado usando oSave método. Forneça o nome de arquivo desejado com a extensão de arquivo apropriada. Neste exemplo, salvamos o documento como “WorkingWithSdt.ModifyContentControls.docx”.

doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");

Exemplo de código-fonte para modificar controles de conteúdo usando Aspose.Words for .NET

	// Caminho para o diretório do seu documento
	string dataDir = "YOUR DOCUMENT DIRECTORY";

	Document doc = new Document(dataDir + "Structured document tags.docx");
	foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
	{
		switch (sdt.SdtType)
		{
			case SdtType.PlainText:
			{
				sdt.RemoveAllChildren();
				Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
				Run run = new Run(doc, "new text goes here");
				para.AppendChild(run);
				break;
			}
			case SdtType.DropDownList:
			{
				SdtListItem secondItem = sdt.ListItems[2];
				sdt.ListItems.SelectedValue = secondItem;
				break;
			}
			case SdtType.Picture:
			{
				Shape shape = (Shape) sdt.GetChild(NodeType.Shape, 0, true);
				if (shape.HasImage)
				{
					shape.ImageData.SetImage(ImagesDir + "Watermark.png");
				}
				break;
			}
		}
	}
	doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");

É isso! Você modificou com sucesso diferentes tipos de controles de conteúdo em seu documento do Word usando Aspose.Words for .NET.