Image

最近做的一項需求是要把 HTML 轉換成 PDF,過程中決定使用 DinkToPdf 來處理這一段。

考慮到現在拿到的一些文件模板都是 HTML 檔了,感覺以後會蠻常碰到這個場景,決定來筆記一篇,給未來的我複製貼上。

環境準備

首先,當然是要先到 Nuget 安裝這篇的主角:DinkToPdf

Image

由於 DinkToPdf 只負責包裝給 C# 這段,實際上要產出 PDF 還得用到 wkhtmltopdf 這個工具,因此還需要先弄到 wkhtmltopdf 的檔案。

不過作者也知道大家不是很想另外跑去找,所以 wkhtmltopdf 的組件檔案可以直接從 DinkToPdf 的 Repo 拿。但要記得要按照作業系統下載對應的 wkhtmltopdf 檔案:

  • Windows => libwkhtmltox.dll
  • Linux => libwkhtmltox.so
  • macOS => libwkhtmltox.dylib

但全部都載也不會有人阻止你就是了。

最後把 libwkhtmltox 放到專案的根目錄底下,DinkToPdf 就呼叫得到囉!
(問就是魔法,不服的自己去啃 P/Invoke

……

閱讀全文