PDFsharp 6.2 中文操作練習

試著用 PDFsharp 開啟現有 PDF 檔用憑證簽署。

引言

生成 PDF 的方法有幾種。花錢的簡單多了。不花錢的就有點麻煩。

比較幾種方法,個人選擇 HtmlToPDF 方式,最主要的原因是不想再學一套定位部局技術。反正都做一樣的事。且 HtmlToPDF 產生的 PDF 檔也能滿足。最大的缺憾就是 PDF 簽署能力無法滿足。

經研究發現 PDFsharp 有支援 PDF 簽署就決定試看看。

另一個套件 PDFSharpCore arrow-up-right就多篇評論沒有 PDFsharp 那些毛。但 PDFSharpCore 相依 SixLabors 的套件。此 SixLabors 的套件開源但非免費,少量用不收錢大量用收費很高,這太危險了。

主要問題 - 版本

號稱支援多種版本。 PDFsharp 與平台相依版本 PDFsharp-GDI。

  • PDFsharp: 跨平台版本。字型只支援最基本的當然不包括中文字型。必需客製化把中文字型額外加入。

  • PDFsharp-GDI: 平台相依 windows 可在 .NET Framework 4.6.2 執行。就文件說明字型問題應該有解。但試用時又出現其他奇怪的問題。最後決定不採用。

主要問題 - 中文字型

中文字型在應用上除了『標楷體』外『微軟正黑體』也變成了基本中文字體之一了。這兩種字體 PDFsharp 都不支援。(囧)

開發環境

IDE: Visual Studio 2022 平台: NET8 骨架: Console App 套件: PDFsharp v6.2

關鍵程式碼紀錄 - 支援中文字型

第一步:自網路尋找中文字型檔下載,必需是 ".ttf" 格式的字型。PDFsharp 不支援 ".ttc" 的字型。放入專案後如圖。

第二步:自訂字型解析器

第三步:應用

關鍵程式碼紀錄 - 用憑證簽署

簽署呈現程式碼簽章圖與簽名文字

應用

完整原始碼

參考文件

PDFsharp 的範例文章直接讀程式碼

(EOF)

Last updated