Chuyển đổi tài liệu HTML sang Word bằng C#

HTML(Ngôn ngữ đánh dấu siêu văn bản) là định dạng tệp hàng đầu cho các trang web được tất cả các trình duyệt hỗ trợ. Trong nhiều trường hợp khác nhau, chúng tôi có thể cần chuyển đổi tệp HTML hoặc nội dung từ trang web trực tiếp thành tài liệu Word (DOC, DOCX, DOT, DOTM, [DOCM 7). Nó giúp chỉnh sửa văn bản của các trang web HTML hoặc áp dụng định dạng văn bản. Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi HTML sang tài liệu Word bằng C#.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API C# để chuyển đổi HTML sang DOCX — Tải xuống miễn phí

Để chuyển đổi tệp HTML hoặc trang web sang định dạng tệp xử lý Word, chúng tôi sẽ sử dụng API Aspose.Words for .NET. Đó là một giải pháp hoàn chỉnh để tạo, chỉnh sửa, chuyển đổi hoặc phân tích tài liệu Word theo chương trình. Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

Install-Package Aspose.Words

C# Chuyển đổi HTML sang Word - Hướng dẫn ngắn

Chúng ta có thể dễ dàng chuyển đổi tệp HTML sang tài liệu Word theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tải tệp HTML bằng lớp Tài liệu.
  2. Gọi phương thức Document.Save(string, SaveFormat) để lưu tệp HTML dưới dạng “output.docx".

Bảng liệt kê SaveFormat trong phương thức Document.Save() chỉ định định dạng mà bạn muốn chuyển đổi tệp HTML. Mẫu mã sau đây cho biết cách chuyển đổi tệp HTML sang DOCX bằng C#.

// Ví dụ mã này trình bày cách chuyển đổi tệp HTML thành tài liệu Word bằng C#.
// Tải tệp HTML bằng lớp Tài liệu
Document document = new Document(@"C:\Files\sample.html");

// Chuyển đổi tệp HTML sang định dạng Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);
Convert HTML to Word in C#.

Convert HTML to Word in C#.

C# Chuyển đổi một trang web sang Word từ URL - Hướng dẫn từng bước

Chúng tôi cũng có thể chuyển đổi trang web HTML trực tiếp từ URL trực tiếp sang tài liệu Word bằng cách thực hiện theo các bước được đưa ra bên dưới:

  1. Đầu tiên, tải xuống nội dung trang web dưới dạng mảng System.Byte từ URL được chỉ định.
  2. Tiếp theo, khởi tạo đối tượng MemoryStream với đối tượng mảng làm đối số.
  3. Sau đó, tạo một phiên bản của lớp HtmlLoadOptions.
  4. Sau đó, tạo một thể hiện của lớp Document và khởi tạo nó với các đối tượng MemoryStream và HtmlLoadOptions.
  5. Cuối cùng, gọi phương thức Document.Save(string, SaveFormat) để lưu tệp HTML dưới dạng “output.docx".

Mẫu mã sau đây cho biết cách chuyển đổi một trang web HTML sang DOCX bằng C#.

// Ví dụ về mã này trình bày cách lưu trang web HTML trực tiếp từ URL trực tiếp vào tài liệu Word bằng C#.
// URL
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Xác định các tùy chọn tải HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Tải xuống nội dung từ URL dưới dạng mảng Byte
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Chuyển đổi mảng Byte thành luồng
var urlStream =  new MemoryStream(imageData);

// Tạo một thể hiện của đối tượng Document
Document document = new Document(urlStream, options);

// Lưu dưới dạng DOCX
document.Save(@"C:\Files\output_url.docx", SaveFormat.Docx);

C# Chuyển đổi chuỗi HTML thành Word - Hướng dẫn ngắn

Chúng ta có thể tạo tài liệu Word từ chuỗi HTML một cách linh hoạt bằng cách thực hiện theo các bước được đưa ra bên dưới:

  1. Đầu tiên, tạo một thể hiện của lớp Document.
  2. Tiếp theo, tạo một thể hiện của lớp DocumentBuilder với đối tượng Document.
  3. Sau đó, chèn HTML vào tài liệu bằng phương thức DocumentBuilder.InsertHtml(string).
  4. Cuối cùng, lưu tài liệu Word bằng phương thức Document.Save(string, SaveFormat).

Mẫu mã sau đây cho biết cách chuyển đổi chuỗi HTML thành DOCX bằng C#.

// Ví dụ mã này trình bày cách tạo tài liệu Word từ chuỗi HTML bằng C#.
// Tạo một tài liệu mới
Document document = new Document();

// Tạo trình tạo tài liệu
DocumentBuilder builder = new DocumentBuilder(document);

// Chèn HTML
builder.InsertHtml("<ul>\r\n" +
    "<li>Item1</li>\r\n" +
    "<li>Item2</li>\r\n" +
    "</ul>");

// Lưu dưới dạng DOCX
document.Save(@"C:\Files\html-string-as-word.docx", SaveFormat.Docx);

Nhận giấy phép miễn phí

Vui lòng dùng thử API không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong hướng dẫn ngắn gọn này, chúng ta đã học cách chuyển đổi HTML sang tài liệu Word bằng C#. Chúng tôi cũng đã xem cách chuyển đổi các trang web trực tiếp từ URL sang tệp Word theo chương trình. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Words for .NET API bằng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm