C#: 使用 PDFSharp 在 PDF 加上浮水印和檔案密碼吧
接續前一篇 C#: 使用 DinkToPdf 把 HTML 轉成 PDF,這篇要來用 PDFSharp 對 PDF 檔案進行一些小小的調整。基本上就是紀錄一下這次遇到的需求和一些坑,主要的內容會有:
- 替 PDF 加上浮水印
- 實作 FontResolver 以支援中文字,避免 ⎕⎕⎕
- 替 PDF 加上檔案密碼
首先當然是要先安裝 PDFSharp 套件:
接續上次的進度,我們把 PDF 檔案弄成了一組 byte[]
:
// 在上一篇文章,我們使用 DinkToPdf 把 Html 轉成了 PDF 檔案的 byte[]
var pdfBytes = converter.Convert(doc);
// 或是打開已存在的 PDF 檔案(留著讓我以後複製貼上)
// var pdfBytes = File.ReadAllBytes(@"C:\temp\output.pdf");
// 使用 PdfSharp 由記憶體串流讀取轉換後的 PDF,開啟模式設定為 Modify(可以進行修改)
using var document = PdfReader.Open(new MemoryStream(pdfBytes), PdfDocumentOpenMode.Modify);
現在我們已經用 PDFSharp 開啟這個 PDF 檔案了,接著就讓我們從加上簡單的浮水印開始吧!
……