Format file pengolah kata yang paling umum dan banyak digunakan adalah DOC, DOCX, dan ODT. Microsoft Word dan OpenOffice Writer yang terkenal mendukung format ini dan kami biasanya menggunakan format ini untuk menyusun dokumen. Oleh karena itu, sebagai pengembang, kami sangat perlu mengedit dokumen Word di aplikasi kami secara terprogram. Pada artikel ini, kita akan membahas cara mengedit dokumen Word di C# menggunakan .NET API untuk mengedit dokumen.

Berikut ini adalah topik yang dibahas secara singkat dalam artikel ini:

.NET API untuk Pengeditan dan Otomasi Dokumen Word

Pada artikel ini, saya akan menggunakan GroupDocs.Editor for .NET dalam contoh C#, yang merupakan API pengeditan dokumen dan memungkinkan pengembang untuk memuat, mengedit, dan menyimpan berbagai format dokumen menggunakan editor HTML WYSIWYG. Selain format dokumen pengolah kata, API mendukung pengeditan spreadsheet, presentasi, HTML, XML, TXT, DSV, TSV, dan format CSV.

Unduh penginstal DLL atau MSI dari bagian unduhan atau instal API di aplikasi .NET Anda melalui NuGet.

PM> Install-Package GroupDocs.Editor

Edit Dokumen Word di C#

Tepat setelah menyiapkan API, Anda dapat dengan cepat beralih ke pengeditan dokumen Word. Langkah-langkah berikut memungkinkan Anda mengedit dokumen pengolah kata.

  • Muat dokumen Word.
  • Edit sesuai dengan opsi.
  • Simpan dokumen yang telah diedit.

Muat dokumen Word

Pertama, muat dokumen dengan memberikan jalur dokumen dan kata sandi, jika dokumen tersebut dilindungi.

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

Edit dokumen Word

Setelah memuat, Anda dapat mengedit dokumen yang dimuat sesuai kebutuhan Anda. Di sini saya mengganti semua kemunculan kata “dokumen” dengan “dokumen yang diedit” dalam dokumen Word menggunakan kode C# di bawah ini.

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

Simpan dokumen Word yang Diedit dengan Opsi

Terakhir, sambil menyimpan konten dokumen yang diedit, Anda dapat mengatur lebih lanjut berbagai opsi. Pilihan ini meliputi; paginasi, atur kata sandi, lokal, perlindungan, atau pengaturan pengoptimalan memori. Saya mengatur opsi di atas dalam kode yang disebutkan di bawah dan menyimpan dokumen yang diedit sebagai file DOCX yang dilindungi kata sandi dan hanya-baca.

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

Kode Lengkap

Untuk kenyamanan Anda, saya menunjukkan contoh C# lengkap yang dijelaskan di atas dan mengedit dokumen Word lalu menyimpannya dalam format DOCX.

// Edit dokumen Word dalam C# menggunakan API otomatisasi dan pengeditan dokumen GroupDocs
using (FileStream fs = File.OpenRead("filepath/document.docx"))
{   // Load Document
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
    // Sunting Dokumen
    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");
            // Simpan Dokumen
            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);
                }
            }
        }
    }
}

Berikut ini adalah dokumen keluaran di mana semua kejadian diganti menggunakan kode di atas.

dokumen docx yang diedit menggunakan editor API

Dokumen keluaran - Semua kejadian diganti

Kesimpulan

Sebagai kesimpulan, kami membahas pengeditan dokumen Word di C# menggunakan API pengeditan dokumen untuk aplikasi .NET. Anda dapat menggunakan API dengan editor WYSIWYG untuk pengeditan visual dokumen Anda. Setelah itu, Anda dapat melanjutkan untuk membangun editor dokumen Anda sendiri. Demikian pula, Anda juga dapat mengintegrasikan fitur pengeditan dalam aplikasi .NET Anda.

Untuk detail, opsi, dan contoh lebih lanjut, Anda dapat mengunjungi dokumentasi dan repositori GitHub. Untuk pertanyaan lebih lanjut, hubungi dukungan di forum.

Artikel Terkait

Lihat juga