Programowe edytowanie dokumentu Word przy użyciu GroupDocs.Editor dla .NET
Jeśli jesteś programistą .NET, który potrzebuje programowo edytować pliki dokumentów Word — niezależnie od tego, czy chcesz zamienić tekst, konwertować formaty, czy osadzić wynik w strumieniu — GroupDocs.Editor dla .NET jest solidną, łatwą w użyciu biblioteką, która wykonuje zadanie. W tym samouczku przeprowadzimy Cię przez praktyczny przykład, który obejmuje ładowanie pliku DOCX, edycję jego zawartości, konwersję wyniku do RTF oraz zapis na dysku lub do strumienia pamięci.
Szybkie odpowiedzi
- Co mogę edytować? Word, PDF, HTML, RTF i wiele innych formatów.
- Czy mogę zamienić tekst? Tak – użyj prostego zastąpienia ciągu znaków lub bardziej zaawansowanej manipulacji DOM.
- Jak przekonwertować PDF na edytowalny? Załaduj PDF przy użyciu
Editori edytuj wygenerowany HTML. - Jaki jest najprostszy sposób zapisu do strumienia? Użyj
editor.Save(editableDoc, stream, options). - Czy potrzebna jest licencja? Wymagana jest tymczasowa lub pełna licencja do użytku produkcyjnego.
Czym jest programowe edytowanie dokumentu Word?
Programowe edytowanie dokumentu Word oznacza użycie kodu — zamiast interfejsu użytkownika — do otwarcia pliku, zmiany jego zawartości (tekst, obrazy, style) i zapisania zmodyfikowanej wersji z powrotem w magazynie. Takie podejście napędza automatyczne raportowanie, masowe aktualizacje dokumentów oraz generowanie niestandardowej treści.
Dlaczego warto używać GroupDocs.Editor dla .NET?
- Elastyczność formatów: Ładuj DOCX, PDF, HTML, RTF itp. i zapisuj w dowolnym obsługiwanym formacie.
- Brak zależności od Office: Działa bez zainstalowanego Microsoft Office na serwerze.
- Przyjazny dla strumieni: Idealny w scenariuszach chmurowych, gdzie odczytujesz/zapisujesz z/na strumienie zamiast systemu plików.
- Bogate API: Dostęp do obrazów, czcionek, CSS i innych zasobów, umożliwiając pełną edycję.
Wymagania wstępne
Zanim przejdziemy do implementacji, upewnij się, że masz:
- Visual Studio 2017 lub nowszy.
- .NET Framework 4.6.1 lub nowszy.
- GroupDocs.Editor dla .NET – możesz go pobrać ze strony.
- Ważną licencję lub tymczasową licencję od GroupDocs.
Importowanie przestrzeni nazw
Aby rozpocząć używanie GroupDocs.Editor dla .NET, zaimportuj wymagane przestrzenie nazw:
using System;
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
W kolejnych sekcjach podzielimy przepływ pracy na małe kroki, abyś mógł łatwo podążać za instrukcją.
Krok 1: Uzyskaj ścieżkę do pliku wejściowego
Określ lokalizację pliku Word, który chcesz edytować. W tym przykładzie przyjmiemy, że plik DOCX nosi nazwę Your Sample Document.docx.
string inputFilePath = "Your Sample Document.docx";
Krok 2: Utwórz obiekt Editor
Utwórz instancję Editor, przekazując ścieżkę wejściową. To ładuje dokument i przygotowuje go do edycji.
using (GroupDocs.Editor.Editor editor = new Editor(inputFilePath))
{
// Subsequent steps will be nested inside this block
}
Krok 3: Otwórz dokument do edycji
Uzyskaj EditableDocument, który zapewnia dostęp do reprezentacji HTML dokumentu oraz jego zasobów.
EditableDocument beforeEdit = editor.Edit();
Krok 4: Pobierz zawartość dokumentu i zasoby
Możesz wyciągnąć surowy HTML, obrazy, czcionki i CSS. Jest to przydatne, gdy potrzebujesz bezpośrednio manipulować znacznikami.
string content = beforeEdit.GetContent();
var images = beforeEdit.Images;
var fonts = beforeEdit.Fonts;
var stylesheets = beforeEdit.Css;
Krok 4.1: Pobierz dokument jako pojedynczy ciąg Base64‑zakodowany
Jeśli wolisz pojedynczy ciąg zawierający wszystkie osadzone zasoby, wywołaj GetEmbeddedHtml().
string allEmbeddedInsideString = beforeEdit.GetEmbeddedHtml();
Krok 4.2: Edytuj zawartość
Zamieńmy słowo Subtitle na Edited subtitle, aby pokazać prostą zamianę tekstu.
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
Krok 5: Utwórz nową instancję EditableDocument
Po edycji znaczników, opakuj je ponownie w obiekt EditableDocument.
EditableDocument afterEdit = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
Krok 6: Zapisz edytowany dokument
Zapiszemy wynik jako plik RTF, pokazując zarówno ścieżkę w systemie plików, jak i opcję strumienia pamięci.
Krok 6.1: Przygotuj ścieżkę wyjściową
Zdefiniuj, gdzie ma zostać zapisany plik RTF.
string outputPath = Path.Combine("Output Directory Path", Path.GetFileNameWithoutExtension(inputFilePath) + ".rtf");
Krok 6.2: Przygotuj opcje zapisu
Wybierz format RTF za pomocą WordProcessingSaveOptions.
Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
Krok 6.3: Zapisz do ścieżki
Zapisz edytowany dokument w systemie plików.
editor.Save(afterEdit, outputPath, saveOptions);
Krok 6.4: Zapisz do strumienia
Jeśli potrzebujesz wyniku w pamięci (np. do przesłania do przechowywania w chmurze), użyj MemoryStream.
using (MemoryStream ms = new MemoryStream())
{
editor.Save(afterEdit, ms, saveOptions);
}
Krok 7: Zwolnij zasoby obiektów Editor i EditableDocument
Zwolnij zasoby niezwłocznie, aby uniknąć wycieków pamięci.
beforeEdit.Dispose();
afterEdit.Dispose();
editor.Dispose();
Typowe przypadki użycia i wskazówki
- Konwertuj PDF na edytowalny: Załaduj PDF przy użyciu
Editor, edytuj wygenerowany HTML, a następnie zapisz z powrotem do PDF lub innego formatu. - Zamień tekst w dokumencie: Użyj
string.Replacew prostych przypadkach lub manipuluj DOM w bardziej złożonych scenariuszach. - Konwertuj Word do RTF: Jak pokazano powyżej, ustaw
WordProcessingFormats.Rtfw opcjach zapisu. - Zapisz dokument do strumienia: Idealne dla interfejsów API webowych, które zwracają pliki bezpośrednio klientowi.
- Załaduj dokument do edycji: Zawsze opakowuj
Editorw blokusing, aby zapewnić prawidłowe zwolnienie zasobów.
Najczęściej zadawane pytania
Q: Czy mogę edytować pliki PDF przy użyciu GroupDocs.Editor dla .NET?
A: Tak, GroupDocs.Editor obsługuje edycję PDF‑ów poprzez konwersję ich do pośredniej reprezentacji HTML.
Q: Jak uzyskać tymczasową licencję dla GroupDocs.Editor dla .NET?
A: Możesz uzyskać tymczasową licencję na stronie GroupDocs.
Q: Jakie formaty plików są obsługiwane przez GroupDocs.Editor dla .NET?
A: Obsługiwane są DOCX, PDF, HTML, RTF i wiele innych formatów.
Q: Czy można zintegrować GroupDocs.Editor z przechowywaniem w chmurze?
A: Oczywiście – możesz odczytywać/zapisywać strumienie z Azure Blob, Amazon S3, Google Cloud Storage itp.
Q: Gdzie mogę znaleźć dokumentację dla GroupDocs.Editor dla .NET?
A: Dokumentacja jest dostępna tutaj.
Ostatnia aktualizacja: 2026-04-11
Testowano z: GroupDocs.Editor 23.12 for .NET
Autor: GroupDocs