Reemplazar texto en documento y guardar – GroupDocs.Editor .NET

Introducción

Si necesita replace text in document de forma programática, GroupDocs.Editor para .NET le brinda una forma limpia y de alto rendimiento de hacerlo. En este tutorial recorreremos la carga de un archivo Word, el intercambio de una cadena y luego guardar el resultado en varios formatos populares como RTF, DOCM y texto plano. Ya sea que esté construyendo un servicio de automatización de documentos o añadiendo una función de corrección rápida a una herramienta interna, los pasos a continuación le permitirán estar en marcha en minutos.

Respuestas rápidas

  • ¿Cuál es la forma más sencilla de reemplazar texto? Cargue el archivo con Editor, modifique el HTML y llame a Save en el EditableDocument.
  • ¿A qué formatos puedo guardar? RTF, DOCM y TXT son compatibles de forma nativa.
  • ¿Necesito una instalación completa de Office? No – GroupDocs.Editor funciona completamente del lado del servidor.
  • ¿Qué versiones de .NET se requieren? .NET Framework 4.6.1 o posterior, .NET Core 3.1 +, .NET 5/6 son compatibles.
  • ¿Es obligatoria una licencia para producción? Sí, una licencia comercial elimina los límites de evaluación; hay una prueba gratuita disponible.

¿Qué es “replace text in document”?

“Replace text in document” se refiere a encontrar programáticamente una cadena específica dentro de un archivo y sustituirla por contenido nuevo sin edición manual. Esta operación es esencial para actualizaciones masivas, plantillas o generación de documentos impulsada por datos. Permite a los desarrolladores automatizar la personalización de documentos, aplicar cambios regulatorios en múltiples archivos e integrar la generación de contenido dinámico dentro de flujos de trabajo más amplios.

¿Por qué usar GroupDocs.Editor para .NET?

GroupDocs.Editor soporta más de 30 formatos de entrada y salida—incluidos DOCX, RTF, TXT, HTML, PDF y ODT—mientras procesa archivos de hasta 500 MB sin cargar todo el documento en memoria. La API se ejecuta en Windows, Linux y macOS, brindándole flexibilidad multiplataforma y una tasa de éxito del 99.9 % en diseños complejos, según pruebas internas.

Requisitos previos

  • Entorno de desarrollo: Visual Studio (cualquier edición reciente).
  • .NET Framework: 4.6.1 o posterior (o .NET Core 3.1 +).
  • GroupDocs.Editor para .NET: Descargue la última versión aquí.
  • Conocimientos básicos de C#: Familiaridad con clases, métodos y manipulación de cadenas.

Para un uso detallado, consulte la documentación.

Importar espacios de nombres

Para comenzar, importe los espacios de nombres requeridos para editar y guardar documentos.

La clase Editor es el punto de entrada para todas las operaciones de manipulación de documentos.

// Placeholder for import statements – keep unchanged
```csharp
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;

Ahora que el entorno está listo, profundicemos en los pasos concretos para replace text in document.

Cómo reemplazar texto en documento usando GroupDocs.Editor?

Cargue el archivo fuente con Editor, obtenga su representación HTML, realice un simple Replace en la cadena HTML y luego recree un EditableDocument a partir del HTML modificado. Finalmente, llame a la sobrecarga Save adecuada para el formato de destino.

Paso 1: Cargar el documento

El objeto EditableDocument contiene la representación en memoria del archivo que está editando.

La clase Editor carga un archivo y devuelve un EditableDocument que puede manipular.

// 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();

Paso 2: Modificar el documento

Debido a que GroupDocs.Editor trabaja con una instantánea HTML, puede tratar el documento como texto plano para reemplazos simples.

El método EditableDocument.GetHtml() extrae el HTML; después de cambiar la cadena, crea un nuevo EditableDocument a partir del HTML actualizado.

// Placeholder for modification code – keep unchanged
```csharp
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);

Paso 3: Guardar el documento

GroupDocs.Editor proporciona métodos Save dedicados para cada formato compatible. A continuación se presentan tres destinos comunes.

Guardar como RTF

El método SaveAsRtf escribe el contenido editado en Rich Text Format, preservando la mayor parte del estilo.

// 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);

Guardar como DOCM

DOCM es el formato de Word habilitado para macros; use SaveAsDocm cuando necesite conservar capacidades de macro.

// 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);
}

Guardar como texto plano

Para una salida ligera, SaveAsTxt elimina el formato y devuelve texto puro.

// 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);

Paso 4: Limpieza

Siempre libere las instancias de EditableDocument y Editor para liberar manejadores de archivos y recursos no administrados.

El patrón Dispose garantiza que los archivos temporales se eliminen y la memoria se recupere.

// Placeholder for cleanup code – keep unchanged
```csharp
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();

Problemas comunes y soluciones

ProblemaPor qué ocurreSolución
Texto no reemplazadoEl HTML puede contener caracteres codificados (&nbsp;, <span>).Use HtmlAgilityPack para localizar el nodo exacto antes de reemplazar.
El archivo guardado está corruptoEl flujo de salida no se vacía antes de liberar.Llame a editableDocument.Save(...); y luego a editableDocument.Dispose();.
Rendimiento disminuye en archivos grandesCargar todo el HTML para un documento de 300 páginas consume memoria.Habilite LoadOptions.UseMemoryMapping = true para transmitir partes del archivo.
Se pierde el formato al guardar como TXTEl formato TXT elimina todo el estilo por diseño.Si necesita formato básico, considere guardar como RTF en su lugar.

Preguntas frecuentes

Q: ¿Qué formatos de archivo soporta GroupDocs.Editor?
A: GroupDocs.Editor maneja más de 30 formatos, incluidos DOCX, RTF, TXT, HTML, PDF y ODT. Consulte la lista completa en la documentación oficial.

Q: ¿Puedo probar GroupDocs.Editor antes de comprar?
A: Sí, puede obtener una prueba gratuita aquí.

Q: ¿Hay soporte si encuentro problemas?
A: Por supuesto—visite el foro de soporte aquí para obtener ayuda de la comunidad y del equipo del producto.

Q: ¿Cómo obtengo una licencia temporal para evaluación?
A: Solicite una licencia temporal aquí.

Q: ¿Dónde puedo comprar la versión completa de GroupDocs.Editor?
A: Puede adquirir la versión completa aquí.


Última actualización: 2026-05-27
Probado con: GroupDocs.Editor 2.10 for .NET
Autor: GroupDocs

Tutoriales relacionados