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.
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);Chuyển đổi được những gì
| Từ | CSV | DOCX | HTML | Markdown | |
|---|---|---|---|---|---|
| DOC | Không | Có: DOC sang DOCX | Không | Không | Không |
| DOCX | Không | Cùng định dạng | Có: DOCX sang HTML | Có: DOCX sang Markdown | Có: DOCX sang PDF |
| HTML | Không | Có: HTML sang DOCX | Cùng định dạng | Không | Có: HTML sang PDF |
| Markdown | Không | Có: Markdown sang DOCX | Không | Cùng định dạng | Có: Markdown sang PDF |
| PPTX | Không | Không | Không | Không | Có: PPTX sang PDF |
| XLSX | Có: XLSX sang CSV | Không | Có: XLSX sang HTML | Không | Có: 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ủ | DocToolkit | Trình duyệt headless | Cài Office |
|---|---|---|---|
| Tệp chạy của trình duyệt | Không | Có, tải về máy chủ | Không |
| Office đã cài và có bản quyền | Không | Không | Có, trên Windows |
| Tệp native | Không có | Các thư viện native của trình duyệt | Cá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.
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.DocToolkitPhiê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
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.