Chuyển DOCX sang HTML bằng C#

DocxToHtmlConverter chuyển tài liệu Word thành HTML và giữ nguyên cấu trúc: tiêu đề vẫn là tiêu đề, bảng vẫn là bảng. Hình ảnh nằm ngay trong HTML dưới dạng URI data:, nên kết quả dùng được độc lập.

using DocToolkit;

byte[] docx = File.ReadAllBytes("input.docx");
string html = DocxToHtmlConverter.Convert(docx);
File.WriteAllText("output.html", html);

Cần những gì

  • Không cần trình duyệt, kể cả trình duyệt headless.
  • Không cần cài Office, cũng không cần LibreOffice.
  • Không có tệp native: chỉ có mã managed.
  • Không dùng mạng khi chạy, trừ khi bạn yêu cầu.

Nên biết

  • Đồng bộ: Convert nhận tệp .docx dạng byte[] và trả về một string.
  • Kết quả là một tài liệu HTML hoàn chỉnh, có <html>, <head> và <body>, không phải một đoạn HTML rời. Muốn nhúng vào trang khác, hãy tách phần body bằng một bộ phân tích HTML.
  • Hình ảnh trong tài liệu được nhúng dưới dạng URI data:, nên không có gì trong kết quả trỏ tới một tệp không tồn tại.
  • ConvertWithReport còn liệt kê những gì HTML không giữ được. Một tệp DOCX bình thường có ít nhất một mục, SectionLayoutFlattened, vì bố cục trang được xuất ra mà không kèm thông tin section.

Cài đặt

dotnet add package Ank.DocToolkit

NuGetTài liệu hướng dẫnGitHub