Nejběžnější a nejrozšířenější formáty souborů pro zpracování textu jsou DOC, DOCX a ODT. Slavný Microsoft Word a OpenOffice Writer tyto formáty podporují a běžně tyto formáty používáme pro vytváření dokumentů. Proto jako vývojáři široce potřebujeme programově upravovat dokumenty Wordu v našich aplikacích. V tomto článku probereme, jak upravovat dokumenty aplikace Word v jazyce C# pomocí rozhraní .NET API pro úpravy dokumentů.

Následují témata stručně probíraná v tomto článku:

.NET API pro úpravy a automatizaci dokumentů aplikace Word

V tomto článku budu v příkladech C# používat GroupDocs.Editor for .NET, což je API pro úpravu dokumentů a umožňuje vývojářům načítat, upravovat a ukládat různé formáty dokumentů pomocí WYSIWYG HTML editorů. Kromě formátů dokumentů pro zpracování textu rozhraní API podporuje úpravy tabulek, prezentací, formátů HTML, XML, TXT, DSV, TSV a CSV.

Stáhněte si DLL nebo instalační program MSI z části ke stažení nebo nainstalujte API do své aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Editor

Upravujte dokumenty Word v C#

Po nastavení rozhraní API můžete rychle přejít k úpravám dokumentu aplikace Word. Následující kroky vám umožní upravit dokument textového editoru.

  • Načtěte dokument aplikace Word.
  • Upravte podle možností.
  • Uložte upravený dokument.

Načtěte dokument aplikace Word

Nejprve načtěte dokument zadáním cesty k dokumentu a hesla, pokud je dokument chráněn.

using (FileStream fs = File.OpenRead(inputFilePath))
{
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
}

Upravte dokument aplikace Word

Po načtení můžete naložený dokument upravit podle svých požadavků. Zde nahrazuji všechny výskyty slova „dokument“ „upraveným dokumentem“ v dokumentu aplikace Word pomocí níže uvedeného kódu C#.

    using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
    {
        Options.WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
        editOptions.FontExtraction = FontExtractionOptions.ExtractEmbeddedWithoutSystem;
        editOptions.EnableLanguageInformation = true;
        editOptions.EnablePagination = true;
        using (EditableDocument beforeEdit = editor.Edit(editOptions))
        {
            string originalContent = beforeEdit.GetContent();
            List<IHtmlResource> allResources = beforeEdit.AllResources;
            string editedContent = originalContent.Replace("document", "edited document");
        }
    }

Uložte upravený dokument aplikace Word pomocí možností

A konečně, při ukládání upraveného obsahu dokumentu můžete dále nastavit různé možnosti. Tyto možnosti zahrnují; stránkování, nastavení hesla, národního prostředí, ochrany nebo nastavení optimalizace paměti. Výše uvedené možnosti nastavím v níže uvedeném kódu a upravený dokument uložím jako soubor DOCX chráněný heslem a pouze pro čtení.

using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
    Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
    saveOptions.EnablePagination = true;
    saveOptions.Locale = System.Globalization.CultureInfo.GetCultureInfo("en-US");
    saveOptions.OptimizeMemoryUsage = true;
    saveOptions.Password = "password";
    saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.ReadOnly, "write\_password");
    using (FileStream outputStream = File.Create("filepath/editedDocument.docx"))
    {
        editor.Save(afterEdit, outputStream, saveOptions);
    }
}

Kompletní kód

Pro vaše pohodlí uvádím úplný příklad C#, který je vysvětlen výše, a upraví dokument aplikace Word a poté jej uloží ve formátu DOCX.

// Upravte dokument Word v C# pomocí rozhraní API pro úpravu dokumentů a automatizaci GroupDocs
using (FileStream fs = File.OpenRead("filepath/document.docx"))
{   // Load Document
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
    // Upravit dokument
    using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
    {
        Options.WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
        editOptions.FontExtraction = FontExtractionOptions.ExtractEmbeddedWithoutSystem;
        editOptions.EnableLanguageInformation = true;
        editOptions.EnablePagination = true;

        using (EditableDocument beforeEdit = editor.Edit(editOptions))
        {
            string originalContent = beforeEdit.GetContent();
            List<IHtmlResource> allResources = beforeEdit.AllResources;

            string editedContent = originalContent.Replace("document", "edited document");
            // Uložit dokument
            using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
            {
                WordProcessingFormats docxFormat = WordProcessingFormats.Docx;
                Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(docxFormat);
                            
                saveOptions.EnablePagination = true;
                saveOptions.Locale = System.Globalization.CultureInfo.GetCultureInfo("en-US");
                saveOptions.OptimizeMemoryUsage = true;
                saveOptions.Password = "password";
                saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.ReadOnly, "write_password");

                using (FileStream outputStream = File.Create("filepath/editedDocument.docx"))
                {
                    editor.Save(afterEdit, outputStream, saveOptions);
                }
            }
        }
    }
}

Následuje výstupní dokument, ve kterém jsou všechny výskyty nahrazeny pomocí výše uvedeného kódu.

upravený dokument docx pomocí editoru API

Výstupní dokument - Všechny výskyty jsou nahrazeny

Závěr

Na závěr jsme diskutovali o úpravách dokumentů aplikace Word v jazyce C# pomocí rozhraní API pro úpravy dokumentů pro aplikace .NET. Pro vizuální úpravy vašich dokumentů můžete použít API s WYSIWYG editory. Poté můžete pokračovat ve vytváření vlastního editoru dokumentů. Podobně můžete také integrovat funkci úprav do vaší aplikace .NET.

Další podrobnosti, možnosti a příklady naleznete v úložišti documentation a GitHub. Pro další dotazy kontaktujte podporu na fóru.

Související články

Viz také