Chuyển HTML sang PDF bằng C#
HtmlToPdfConverter chuyển HTML thành PDF mà không cần trình duyệt: nó dựng một tài liệu Word rồi xuất tài liệu đó ra PDF. Những gì giữ lại được là những gì Word diễn đạt được, nên văn bản, bảng, danh sách và hình ảnh vẫn còn, còn bố cục flexbox và grid thì không.
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ầ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
- Bất đồng bộ:
ConvertAsyncnhận HTML dạngstringvà trả vềTask<byte[]>. - Flexbox, grid, float và định vị tuyệt đối không được áp dụng, còn các tính năng không hỗ trợ bị bỏ qua mà không báo. Tệp PDF vẫn hợp lệ.
- Mặc định là khổ A4;
ConvertAsync(html, page)nhận mộtPageSetupđể dùng khổ khác. - Ảnh từ xa mặc định bị tắt.
RemoteImageOptionsbật cho từng lần gọi, và mặc định vẫn chặn địa chỉ loopback và địa chỉ nội bộ (AllowPrivateAddressescho phép các địa chỉ này).