Substituir Texto em Documento e Salvar – GroupDocs.Editor .NET
Introdução
Se você precisa replace text in document programaticamente, o GroupDocs.Editor para .NET oferece uma maneira limpa e de alto desempenho para isso. Neste tutorial, vamos percorrer o carregamento de um arquivo Word, substituir uma string e, em seguida, salvar o resultado em vários formatos populares, como RTF, DOCM e texto simples. Seja construindo um serviço de automação de documentos ou adicionando um recurso de correção rápida a uma ferramenta interna, os passos abaixo colocarão você em funcionamento em minutos.
Respostas Rápidas
- Qual é a maneira mais simples de substituir texto? Carregue o arquivo com
Editor, modifique o HTML e chameSavenoEditableDocument. - Quais formatos posso salvar? RTF, DOCM e TXT são suportados nativamente.
- Preciso de uma instalação completa do Office? Não – o GroupDocs.Editor funciona totalmente no servidor.
- Quais versões do .NET são necessárias? .NET Framework 4.6.1 ou posterior, .NET Core 3.1 +, .NET 5/6 são todos suportados.
- É obrigatória uma licença para produção? Sim, uma licença comercial remove os limites de avaliação; um teste gratuito está disponível.
O que é “replace text in document”?
“Replace text in document” refere-se a encontrar programaticamente uma string específica dentro de um arquivo e substituí‑la por novo conteúdo sem edição manual. Essa operação é essencial para atualizações em massa, modelagem de templates ou geração de documentos orientada a dados. Ela permite que desenvolvedores automatizem a personalização de documentos, apliquem mudanças regulatórias em múltiplos arquivos e integrem a geração de conteúdo dinâmico em fluxos de trabalho maiores.
Por que usar GroupDocs.Editor para .NET?
GroupDocs.Editor suporta mais de 30 formatos de entrada e saída — incluindo DOCX, RTF, TXT, HTML, PDF e ODT — ao processar arquivos de até 500 MB sem carregar o documento inteiro na memória. A API funciona no Windows, Linux e macOS, oferecendo flexibilidade multiplataforma e uma taxa de sucesso de 99,9 % em layouts complexos, de acordo com benchmarks internos.
Pré‑requisitos
- Ambiente de Desenvolvimento: Visual Studio (qualquer edição recente).
- .NET Framework: 4.6.1 ou posterior (ou .NET Core 3.1 +).
- GroupDocs.Editor for .NET: Baixe a versão mais recente aqui.
- Conhecimento Básico de C#: Familiaridade com classes, métodos e manipulação de strings.
Para uso detalhado, consulte a documentação oficial.
Importar Namespaces
Para começar, importe os namespaces necessários para editar e salvar documentos.
A classe Editor é o ponto de entrada para todas as operações de manipulação de documentos.
// Placeholder for import statements – keep unchanged
```csharp
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Agora que o ambiente está pronto, vamos mergulhar nos passos concretos para **replace text in document**.
## Como substituir texto em documento usando GroupDocs.Editor?
Carregue o arquivo fonte com `Editor`, recupere sua representação HTML, execute um simples `Replace` na string HTML e, em seguida, recrie um `EditableDocument` a partir do HTML modificado. Por fim, chame a sobrecarga apropriada de `Save` para o formato de destino.
### Passo 1: Carregar o Documento
O objeto `EditableDocument` contém a representação em memória do arquivo que você está editando.
A classe `Editor` carrega um arquivo e retorna um `EditableDocument` que você pode manipular.
```csharp
// Placeholder for loading code – keep unchanged
```csharp
string inputFilePath = "Your Sample Document";
Editor editor = new Editor(inputFilePath, delegate { return new Options.WordProcessingLoadOptions(); });
EditableDocument defaultWordProcessingDoc = editor.Edit();
### Passo 2: Modificar o Documento
Como o GroupDocs.Editor trabalha com um instantâneo HTML, você pode tratar o documento como texto simples para substituições simples.
O método `EditableDocument.GetHtml()` extrai o HTML; após alterar a string, você cria um novo `EditableDocument` a partir do HTML atualizado.
```csharp
// Placeholder for modification code – keep unchanged
```csharp
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
### Passo 3: Salvar o Documento
GroupDocs.Editor fornece métodos `Save` dedicados para cada formato suportado. Abaixo estão três destinos comuns.
#### Salvar como RTF
O método `SaveAsRtf` grava o conteúdo editado no Rich Text Format, preservando a maior parte da formatação.
```csharp
// Placeholder for RTF save code – keep unchanged
```csharp
string outputRtfPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.rtf");
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
editor.Save(editedDoc, outputRtfPath, rtfSaveOptions);
#### Salvar como DOCM
DOCM é o formato Word com macros habilitadas; use `SaveAsDocm` quando precisar manter as capacidades de macro.
```csharp
// Placeholder for DOCM save code – keep unchanged
```csharp
string outputDocmPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.docm");
WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
using (FileStream outputStream = File.Create(outputDocmPath))
{
editor.Save(editedDoc, outputStream, docmSaveOptions);
}
#### Salvar como Texto Simples
Para saída leve, `SaveAsTxt` remove a formatação e retorna texto puro.
```csharp
// Placeholder for TXT save code – keep unchanged
```csharp
string outputTxtPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), "editedDoc.txt");
TextSaveOptions textSaveOptions = new TextSaveOptions
{
Encoding = System.Text.Encoding.UTF8,
PreserveTableLayout = true
};
editor.Save(editedDoc, outputTxtPath, textSaveOptions);
### Passo 4: Limpeza
Sempre descarte as instâncias de `EditableDocument` e `Editor` para liberar handles de arquivos e recursos não gerenciados.
O padrão `Dispose` garante que arquivos temporários sejam excluídos e a memória seja recuperada.
```csharp
// Placeholder for cleanup code – keep unchanged
```csharp
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();
## Problemas Comuns e Soluções
| Problema | Por que acontece | Correção |
|----------|------------------|---------|
| **Texto não substituído** | O HTML pode conter caracteres codificados (` `, `<span>`). | Use `HtmlAgilityPack` para localizar o nó exato antes de substituir. |
| **Arquivo salvo está corrompido** | O fluxo de saída não foi liberado antes de descarregar. | Chame `editableDocument.Save(...);` então `editableDocument.Dispose();`. |
| **Desempenho diminui em arquivos grandes** | Carregar todo o HTML de um documento de 300 páginas consome memória. | Ative `LoadOptions.UseMemoryMapping = true` para transmitir partes do arquivo. |
| **Formatação perdida ao salvar como TXT** | O formato TXT remove toda a estilização por design. | Se precisar de formatação básica, considere salvar como RTF. |
## Perguntas Frequentes
**Q: Quais formatos de arquivo o GroupDocs.Editor suporta?**
A: GroupDocs.Editor lida com mais de 30 formatos, incluindo DOCX, RTF, TXT, HTML, PDF e ODT. Veja a lista completa na documentação oficial.
**Q: Posso experimentar o GroupDocs.Editor antes de comprar?**
A: Sim, você pode obter um teste gratuito [aqui](https://releases.groupdocs.com/).
**Q: Existe suporte caso eu encontre problemas?**
A: Absolutamente — visite o fórum de suporte [aqui](https://forum.groupdocs.com/c/editor/20) para ajuda da comunidade e da equipe do produto.
**Q: Como obtenho uma licença temporária para avaliação?**
A: Solicite uma licença temporária [aqui](https://purchase.groupdocs.com/temporary-license/).
**Q: Onde posso comprar a versão completa do GroupDocs.Editor?**
A: Você pode comprar a versão completa [aqui](https://purchase.groupdocs.com/buy).
---
**Última Atualização:** 2026-05-27
**Testado com:** GroupDocs.Editor 2.10 for .NET
**Autor:** GroupDocs
## Tutoriais Relacionados
- [Como Editar e Salvar Documentos Word Usando GroupDocs.Editor para .NET: Um Guia Completo](/editor/net/word-processing-documents/editing-word-docs-groupdocs-editor-net/)
- [Converter Word para HTML Usando GroupDocs.Editor .NET: Um Guia Passo a Passo](/editor/net/document-saving/convert-word-to-html-groupdocs-editor-dotnet/)
- [Edição Eficiente de Documentos com GroupDocs.Editor .NET: Transformar HTML em Documentos Editáveis](/editor/net/document-editing/edit-documents-groupdocs-editor-net/)