DocToolkit

Chuyển đổi, chỉnh sửa và bảo vệ tài liệu bằng mã C# managed thuần, ngay trong ứng dụng của bạn.

phiên bản mới nhất
0.59.0
lượt tải trên NuGet
31.577
tệp native trong bản build
0

Chọn kiểu chuyển đổi, sao chép mã

Chọn định dạng ban đầu và định dạng bạn muốn. Đoạn mã biên dịch được với gói đã phát hành.

Từ
Sang
using DocToolkit;

string html = "<h1>Invoice 2026-114</h1><p>Due on receipt</p>";
byte[] pdf = await HtmlToPdfConverter.ConvertAsync(html);
File.WriteAllBytes("output.pdf", pdf);

Đọc thêm về HTML sang PDF

Chuyển đổi được những gì

Những gì DocToolkit chuyển đổi được. Mỗi hàng là định dạng ban đầu, mỗi cột là định dạng nhận được.
TừCSVDOCXHTMLMarkdownPDF
DOCKhôngCó: DOC sang DOCXKhôngKhôngKhông
DOCXKhôngCùng định dạngCó: DOCX sang HTMLCó: DOCX sang MarkdownCó: DOCX sang PDF
HTMLKhôngCó: HTML sang DOCXCùng định dạngKhôngCó: HTML sang PDF
MarkdownKhôngCó: Markdown sang DOCXKhôngCùng định dạngCó: Markdown sang PDF
PPTXKhôngKhôngKhôngKhôngCó: PPTX sang PDF
XLSXCó: XLSX sang CSVKhôngCó: XLSX sang HTMLKhôngCó: XLSX sang PDF

Vì sao chọn .NET thuần

Mỗi cách cần gì trên máy chủ trước khi có thể chuyển đổi một tài liệu.

Cần trên máy chủDocToolkitTrình duyệt headlessCài Office
Tệp chạy của trình duyệtKhôngCó, tải về máy chủKhông
Office đã cài và có bản quyềnKhôngKhôngCó, trên Windows
Tệp nativeKhông cóCác thư viện native của trình duyệtCác tệp chương trình của chính Office

Thư mục build của DocToolkit chứa 0 tệp native, đo ngày 9/8/2026, khi thêm gói vào một ứng dụng console net8.0 trống.

Xem bảng so sánh đầy đủ

Thông tin chính

  • Chạy trên Linux, macOS, Windows và arm64, không gửi yêu cầu mạng nào.
  • Đặt mật khẩu bảo vệ cho DOCX, XLSX, PPTX và PDF.
  • Hỗ trợ .NET 8 và .NET 10. Giấy phép MIT.

Cài đặt

dotnet add package Ank.DocToolkit

Phiên bản 0.59.0, 31.577 lượt tải trên NuGet, tính đến 2026-11-03. Ghi chú phát hành

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

Câu hỏi thường gặp

Có cần Office hay trình duyệt không?

Không. DocToolkit hoàn toàn là mã managed: không cần trình duyệt, kể cả trình duyệt headless, không cần cài Word, không cần LibreOffice hay Office interop. HTML sang PDF đi qua một tài liệu Word do chính thư viện tạo ra.

Có chạy trên Linux, macOS, arm64 và trong Docker không?

Có. Toàn bộ bộ kiểm thử chạy trong CI trên Linux, Windows, macOS và arm64. Trong Docker, chỉ cần một image .NET runtime thông thường, như mcr.microsoft.com/dotnet/runtime:8.0, không phải cài thêm gì; hãy dùng runtime, không dùng runtime-deps.

Hỗ trợ những phiên bản .NET nào?

Thư viện nhắm tới net8.0 và net10.0, hai bản LTS. Ứng dụng net9.0 dùng bản build net8.0. Không có bản build netstandard2.0.

Thư viện dùng giấy phép gì?

MIT. 35 thư viện phụ thuộc gồm 33 thư viện MIT và 2 thư viện Apache-2.0: không có ngưỡng doanh thu, không tính phí theo người dùng.

Thư viện có gửi yêu cầu mạng không?

Mặc định là không: không phép chuyển đổi nào mở socket, stylesheet không được tải và ảnh từ xa bị bỏ qua. 40 bài kiểm thử air-gap kiểm tra điều này. Ảnh từ xa là tùy chọn duy nhất phải tự bật, cho từng lần gọi hoặc qua DocToolkitOptions, kèm danh sách máy chủ được phép và chặn địa chỉ loopback, địa chỉ nội bộ.

Thư viện không làm được gì?

Thư viện chỉ chuyển đổi 12 cặp trong bảng ở trên, cộng tệp .ppt đời cũ sang thẳng PDF, không gì khác. Không chuyển được PDF sang định dạng khác (chỉ đọc chữ và chỉnh sửa trang PDF), không đọc CSV, còn tệp .xls đời cũ bị từ chối kèm lời nhắc lưu thành .xlsx. HTML sang PDF không áp dụng flexbox, grid hay float.

Cài đặt thế nào?

Chạy dotnet add package Ank.DocToolkit. Mọi thứ trong thư viện đều là lớp static, nên không cần đăng ký gì. Muốn dùng dependency injection trong ASP.NET Core, hãy thêm cả Ank.DocToolkit.Extensions.DependencyInjection.