Các định dạng tệp soạn thảo văn bản phổ biến và được sử dụng rộng rãi nhất là DOC, DOCX và ODT. Microsoft Word và OpenOffice Writer nổi tiếng hỗ trợ các định dạng này và chúng tôi thường sử dụng các định dạng này để soạn thảo tài liệu. Do đó, với tư cách là nhà phát triển, chúng tôi rất cần chỉnh sửa tài liệu Word trong các ứng dụng của mình theo chương trình. Trong bài viết này, chúng ta sẽ thảo luận cách chỉnh sửa tài liệu Word trong C# bằng cách sử dụng .NET API để chỉnh sửa tài liệu.

Sau đây là các chủ đề được thảo luận ngắn gọn trong bài viết này:

.NET API để chỉnh sửa và tự động hóa tài liệu Word

Trong bài viết này, tôi sẽ sử dụng GroupDocs.Editor for .NET trong các ví dụ C#, đây là API chỉnh sửa tài liệu và cho phép các nhà phát triển tải, chỉnh sửa và lưu các định dạng tài liệu khác nhau bằng trình chỉnh sửa HTML WYSIWYG. Ngoài các định dạng tài liệu soạn thảo văn bản, API hỗ trợ chỉnh sửa các định dạng bảng tính, bản trình bày, HTML, XML, TXT, DSV, TSV và CSV.

Tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.

PM> Install-Package GroupDocs.Editor

Chỉnh sửa tài liệu Word trong C#

Ngay sau khi thiết lập API, bạn có thể nhanh chóng chuyển sang chỉnh sửa tài liệu Word. Các bước sau đây sẽ cho phép bạn chỉnh sửa tài liệu soạn thảo văn bản.

  • Tải tài liệu Word.
  • Chỉnh sửa phù hợp với các tùy chọn.
  • Lưu tài liệu đã chỉnh sửa.

Tải tài liệu Word

Đầu tiên, tải tài liệu bằng cách cung cấp đường dẫn tài liệu và mật khẩu, nếu tài liệu được bảo vệ.

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

Chỉnh sửa tài liệu Word

Sau khi tải, bạn có thể chỉnh sửa tài liệu đã tải theo yêu cầu của mình. Ở đây tôi đang thay thế tất cả các lần xuất hiện của từ “tài liệu” bằng “tài liệu đã chỉnh sửa” trong tài liệu Word bằng mã C# bên dưới.

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

Lưu tài liệu Word đã chỉnh sửa với Tùy chọn

Cuối cùng, trong khi lưu nội dung tài liệu đã chỉnh sửa, bạn có thể thiết lập thêm các tùy chọn khác nhau. Các tùy chọn này bao gồm; phân trang, đặt mật khẩu, ngôn ngữ, bảo vệ hoặc cài đặt tối ưu hóa bộ nhớ. Tôi đặt các tùy chọn trên trong mã được đề cập bên dưới và lưu tài liệu đã chỉnh sửa dưới dạng tệp DOCX chỉ đọc và được bảo vệ bằng mật khẩu.

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

Hoàn thành mã

Để thuận tiện cho bạn, tôi đang hiển thị ví dụ C# hoàn chỉnh đã được giải thích ở trên và nó chỉnh sửa tài liệu Word rồi lưu nó ở định dạng DOCX.

// Chỉnh sửa tài liệu Word trong C# bằng cách sử dụng API tự động hóa và chỉnh sửa tài liệu GroupDocs
using (FileStream fs = File.OpenRead("filepath/document.docx"))
{   // Load Document
    Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "password-if-any";
    // Chỉnh sửa tài liệu
    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");
            // Lưu tài liệu
            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);
                }
            }
        }
    }
}

Sau đây là tài liệu đầu ra trong đó tất cả các lần xuất hiện được thay thế bằng mã ở trên.

đã chỉnh sửa tài liệu docx bằng API trình chỉnh sửa

Tài liệu đầu ra - Tất cả các lần xuất hiện được thay thế

Sự kết luận

Để kết thúc, chúng ta đã thảo luận về việc chỉnh sửa tài liệu Word trong C# bằng cách sử dụng API chỉnh sửa tài liệu cho các ứng dụng .NET. Bạn có thể sử dụng API với trình chỉnh sửa WYSIWYG để chỉnh sửa trực quan tài liệu của mình. Sau đó, bạn có thể tiếp tục xây dựng trình chỉnh sửa tài liệu của riêng mình. Tương tự, bạn cũng có thể tích hợp tính năng chỉnh sửa trong ứng dụng .NET của mình.

Để biết thêm chi tiết, tùy chọn và ví dụ, bạn có thể truy cập kho lưu trữ tài liệuGitHub. Đối với các câu hỏi khác, hãy liên hệ với bộ phận hỗ trợ trên diễn đàn.

Những bài viết liên quan

Xem thêm