Nahradit text v dokumentu a uložit – GroupDocs.Editor .NET
Úvod
Pokud potřebujete replace text in document programově, GroupDocs.Editor pro .NET vám poskytuje čistý, výkonný způsob, jak to provést. V tomto tutoriálu vás provedeme načtením souboru Word, výměnou řetězce a následným uložením výsledku do několika populárních formátů, jako jsou RTF, DOCM a prostý text. Ať už vytváříte službu pro automatizaci dokumentů nebo přidáváte rychlé opravy do interního nástroje, níže uvedené kroky vás během několika minut uvedou do provozu.
Rychlé odpovědi
- Jaký je nejjednodušší způsob, jak nahradit text? Načtěte soubor pomocí
Editor, upravte HTML a zavolejteSavenaEditableDocument. - Do jakých formátů mohu ukládat? RTF, DOCM a TXT jsou podporovány bez dalších úprav.
- Potřebuji plnou instalaci Office? Ne – GroupDocs.Editor funguje zcela na serveru.
- Jaké verze .NET jsou vyžadovány? .NET Framework 4.6.1 nebo novější, .NET Core 3.1 +, .NET 5/6 jsou všechny podporovány.
- Je licence povinná pro produkci? Ano, komerční licence odstraňuje omezení hodnocení; je k dispozici bezplatná zkušební verze.
Co je “replace text in document”?
“Replace text in document” označuje programové vyhledání konkrétního řetězce v souboru a jeho nahrazení novým obsahem bez ruční úpravy. Tato operace je nezbytná pro hromadné aktualizace, šablonování nebo generování dokumentů na základě dat. Umožňuje vývojářům automatizovat personalizaci dokumentů, aplikovat regulatorní změny napříč více soubory a integrovat dynamické generování obsahu do větších pracovních toků.
Proč používat GroupDocs.Editor pro .NET?
GroupDocs.Editor podporuje více než 30 vstupních a výstupních formátů – včetně DOCX, RTF, TXT, HTML, PDF a ODT – a při zpracování souborů až do 500 MB nevyžaduje načtení celého dokumentu do paměti. API běží na Windows, Linuxu i macOS, což vám poskytuje multiplatformní flexibilitu a 99,9 % úspěšnost u složitých rozvržení, podle interních benchmarků.
Předpoklady
- Vývojové prostředí: Visual Studio (libovolná recentní edice).
- .NET Framework: 4.6.1 nebo novější (nebo .NET Core 3.1 +).
- GroupDocs.Editor pro .NET: Stáhněte nejnovější verzi zde.
- Základní znalost C#: Znalost tříd, metod a manipulace s řetězci.
Pro podrobný návod se podívejte na oficiální dokumentaci.
Importovat jmenné prostory
Pro začátek importujte jmenné prostory potřebné pro úpravu a ukládání dokumentů.
Třída Editor je vstupním bodem pro všechny operace manipulace s dokumenty.
// Placeholder for import statements – keep unchanged
```csharp
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Nyní, když je prostředí připravené, pojďme se ponořit do konkrétních kroků pro replace text in document.
Jak nahradit text v dokumentu pomocí GroupDocs.Editor?
Načtěte zdrojový soubor pomocí Editor, získejte jeho HTML reprezentaci, proveďte jednoduchý Replace na HTML řetězci a poté vytvořte nový EditableDocument z upraveného HTML. Nakonec zavolejte odpovídající přetížení Save pro cílový formát.
Krok 1: Načíst dokument
Objekt EditableDocument obsahuje paměťovou reprezentaci souboru, který upravujete.
Třída Editor načte soubor a vrátí EditableDocument, který můžete upravovat.
// 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();
Krok 2: Upravit dokument
Protože GroupDocs.Editor pracuje s HTML snímkem, můžete dokument považovat za prostý text pro jednoduché nahrazení.
Metoda EditableDocument.GetHtml() extrahuje HTML; po změně řetězce vytvoříte nový EditableDocument z aktualizovaného HTML.
// Placeholder for modification code – keep unchanged
```csharp
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
Krok 3: Uložit dokument
GroupDocs.Editor poskytuje vyhrazené metody Save pro každý podporovaný formát. Níže jsou tři běžné cíle.
Uložit jako RTF
Metoda SaveAsRtf zapisuje upravený obsah do Rich Text Format, zachovává většinu stylování.
// 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);
Uložit jako DOCM
DOCM je formát Word s podporou maker; použijte SaveAsDocm, pokud potřebujete zachovat makra.
// 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);
}
Uložit jako prostý text
Pro lehký výstup SaveAsTxt odstraňuje formátování a vrací čistý text.
// 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);
Krok 4: Vyčištění
Vždy uvolněte instance EditableDocument a Editor, aby se uvolnily souborové handly a neřízené prostředky.
Vzor Dispose zajišťuje, že dočasné soubory jsou smazány a paměť uvolněna.
// Placeholder for cleanup code – keep unchanged
```csharp
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();
Časté problémy a řešení
| Problém | Proč se to děje | Řešení |
|---|---|---|
| Text nebyl nahrazen | HTML může obsahovat kódované znaky ( , <span>). | Použijte HtmlAgilityPack k nalezení přesného uzlu před nahrazením. |
| Uložený soubor je poškozen | Výstupní stream není před uvolněním vyprázdněn. | Zavolejte editableDocument.Save(...); a poté editableDocument.Dispose();. |
| Výkon klesá u velkých souborů | Načítání celého HTML pro dokument o 300 stránkách spotřebuje paměť. | Povolením LoadOptions.UseMemoryMapping = true streamujte části souboru. |
| Formátování ztraceno při ukládání jako TXT | Formát TXT odstraňuje veškeré stylování záměrně. | Pokud potřebujete základní formátování, zvažte uložení jako RTF. |
Často kladené otázky
Q: Jaké souborové formáty GroupDocs.Editor podporuje?
A: GroupDocs.Editor zpracovává více než 30 formátů, včetně DOCX, RTF, TXT, HTML, PDF a ODT. Kompletní seznam najdete v oficiální dokumentaci.
Q: Můžu si GroupDocs.Editor vyzkoušet před zakoupením?
A: Ano, můžete získat bezplatnou zkušební verzi zde.
Q: Je k dispozici podpora, pokud narazím na problémy?
A: Rozhodně – navštivte fórum podpory zde a získejte pomoc od komunity a týmu produktu.
Q: Jak získám dočasnou licenci pro hodnocení?
A: Požádejte o dočasnou licenci zde.
Q: Kde mohu zakoupit plnou verzi GroupDocs.Editor?
A: Plnou verzi můžete zakoupit zde.
Poslední aktualizace: 2026-05-27
Testováno s: GroupDocs.Editor 2.10 pro .NET
Autor: GroupDocs