Các bạn có thể sử dụng thư viện: CefSharp or Puppetteer, hay một trình duyệt webkit để view nội dung tập tin và xuất thành file PDF.
Ở bài viết này, mình hướng dẫn các bạn cách dùng trình duyệt Chrome để để save html sang PDF chạy ở chế độ headless.
Source code C#:
var url = "https://hung.pro.vn/"; var chromePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"; //var chromePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; (hoặc nếu bạn sử dụng chạy phiên bản 64bit) var output = Path.Combine(Environment.CurrentDirectory, "printout.pdf"); using (var p = new Process()) { p.StartInfo.FileName = chromePath; p.StartInfo.Arguments = $"--headless --disable-gpu --print-to-pdf={output} {url}"; p.Start(); p.WaitForExit(); }
Chỉ với đoạn code ngắn gọn trên và không cần sử dụng thư viện nào khác, các bạn có thể export thành file PDF một cách nhanh chóng.