Zastąp tekst w dokumencie i zapisz – GroupDocs.Editor .NET

Wprowadzenie

Jeśli potrzebujesz replace text in document programowo, GroupDocs.Editor dla .NET zapewnia czysty, wysokowydajny sposób na to. W tym samouczku przeprowadzimy Cię przez ładowanie pliku Word, zamianę ciągu znaków oraz zapisanie wyniku w kilku popularnych formatach, takich jak RTF, DOCM i zwykły tekst. Niezależnie od tego, czy tworzysz usługę automatyzacji dokumentów, czy dodajesz szybkie rozwiązanie do wewnętrznego narzędzia, poniższe kroki pozwolą Ci rozpocząć pracę w kilka minut.

Szybkie odpowiedzi

  • Jaki jest najprostszy sposób na zastąpienie tekstu? Załaduj plik przy użyciu Editor, zmodyfikuj HTML i wywołaj Save na EditableDocument.
  • Do jakich formatów mogę zapisywać? RTF, DOCM i TXT są obsługiwane od razu.
  • Czy potrzebna jest pełna instalacja Office? Nie – GroupDocs.Editor działa w pełni po stronie serwera.
  • Jakie wersje .NET są wymagane? .NET Framework 4.6.1 lub nowszy, .NET Core 3.1 +, .NET 5/6 są wszystkie obsługiwane.
  • Czy licencja jest wymagana w produkcji? Tak, licencja komercyjna usuwa ograniczenia wersji próbnej; dostępna jest darmowa wersja próbna.

Co to jest „replace text in document”?

„Replace text in document” odnosi się do programowego znajdowania określonego ciągu znaków w pliku i zastępowania go nową treścią bez ręcznej edycji. Operacja ta jest niezbędna przy masowych aktualizacjach, szablonowaniu lub generowaniu dokumentów na podstawie danych. Umożliwia programistom automatyzację personalizacji dokumentów, wprowadzanie zmian regulacyjnych w wielu plikach oraz integrację dynamicznego generowania treści w większych przepływach pracy.

Dlaczego używać GroupDocs.Editor dla .NET?

GroupDocs.Editor obsługuje ponad 30 formatów wejściowych i wyjściowych — w tym DOCX, RTF, TXT, HTML, PDF i ODT — przy przetwarzaniu plików do 500 MB bez ładowania całego dokumentu do pamięci. API działa na Windows, Linux i macOS, zapewniając elastyczność wieloplatformową oraz 99,9 % skuteczności przy skomplikowanych układach, według wewnętrznych benchmarków.

Wymagania wstępne

  • Środowisko programistyczne: Visual Studio (dowolna aktualna edycja).
  • .NET Framework: 4.6.1 lub nowszy (lub .NET Core 3.1 +).
  • GroupDocs.Editor dla .NET: Pobierz najnowszą wersję tutaj.
  • Podstawowa znajomość C#: Znajomość klas, metod i manipulacji łańcuchami znaków.

Aby uzyskać szczegółowe informacje, odwołaj się do oficjalnej dokumentacji.

Importowanie przestrzeni nazw

Aby rozpocząć, zaimportuj przestrzenie nazw wymagane do edycji i zapisywania dokumentów.

The Editor class is the entry point for all document‑manipulation operations.

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

Teraz, gdy środowisko jest gotowe, przejdźmy do konkretnych kroków dla replace text in document.

Jak zastąpić tekst w dokumencie przy użyciu GroupDocs.Editor?

Załaduj plik źródłowy przy użyciu Editor, pobierz jego reprezentację HTML, wykonaj prostą operację Replace na łańcuchu HTML, a następnie odtwórz EditableDocument z zmodyfikowanego HTML. Na koniec wywołaj odpowiednią przeciążoną metodę Save dla docelowego formatu.

Krok 1: Załaduj dokument

Obiekt EditableDocument przechowuje w‑pamięci reprezentację pliku, który edytujesz.

Klasa Editor ładuje plik i zwraca EditableDocument, który możesz modyfikować.

// 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: Zmodyfikuj dokument

Ponieważ GroupDocs.Editor pracuje na migawce HTML, możesz traktować dokument jako zwykły tekst przy prostych zamianach.

Metoda EditableDocument.GetHtml() wyodrębnia HTML; po zmianie łańcucha tworzysz nowy EditableDocument z zaktualizowanego 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: Zapisz dokument

GroupDocs.Editor udostępnia dedykowane metody Save dla każdego obsługiwanego formatu. Poniżej trzy popularne cele.

Zapisz jako RTF

Metoda SaveAsRtf zapisuje edytowaną treść w formacie Rich Text Format, zachowując większość formatowania.

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

Zapisz jako DOCM

DOCM to format Word z obsługą makr; użyj SaveAsDocm, gdy potrzebujesz zachować możliwości makr.

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

Zapisz jako zwykły tekst

Dla lekkiego wyjścia, SaveAsTxt usuwa formatowanie i zwraca czysty tekst.

// 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: Sprzątanie

Zawsze zwalniaj instancje EditableDocument i Editor, aby zwolnić uchwyty plików i zasoby niezarządzane.

Wzorzec Dispose zapewnia usunięcie plików tymczasowych i odzyskanie pamięci.

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

Typowe problemy i rozwiązania

ProblemDlaczego się pojawiaRozwiązanie
Tekst nie został zastąpionyHTML może zawierać zakodowane znaki (&nbsp;, <span>).Użyj HtmlAgilityPack, aby zlokalizować dokładny węzeł przed zamianą.
Zapisany plik jest uszkodzonyStrumień wyjściowy nie został opróżniony przed zwolnieniem.Wywołaj editableDocument.Save(...); a następnie editableDocument.Dispose();.
Spadek wydajności przy dużych plikachŁadowanie całego HTML dla dokumentu o 300 stronach zużywa pamięć.Włącz LoadOptions.UseMemoryMapping = true, aby strumieniować części pliku.
Utrata formatowania przy zapisie jako TXTFormat TXT usuwa całe formatowanie ze względu na projekt.Jeśli potrzebujesz podstawowego formatowania, rozważ zapis jako RTF.

Najczęściej zadawane pytania

Q: Jakie formaty plików obsługuje GroupDocs.Editor?
A: GroupDocs.Editor obsługuje ponad 30 formatów, w tym DOCX, RTF, TXT, HTML, PDF i ODT. Pełną listę znajdziesz w oficjalnej dokumentacji.

Q: Czy mogę wypróbować GroupDocs.Editor przed zakupem?
A: Tak, możesz uzyskać darmową wersję próbną tutaj.

Q: Czy jest dostępne wsparcie w razie problemów?
A: Oczywiście — odwiedź forum wsparcia tutaj, aby uzyskać pomoc od społeczności i zespołu produktu.

Q: Jak uzyskać tymczasową licencję do oceny?
A: Poproś o tymczasową licencję tutaj.

Q: Gdzie mogę kupić pełną wersję GroupDocs.Editor?
A: Pełną wersję możesz kupić tutaj.

Ostatnia aktualizacja: 2026-05-27
Testowano z: GroupDocs.Editor 2.10 dla .NET
Autor: GroupDocs

Powiązane samouczki