C# 利用itextsharp對PDF檔案加密
阿新 • • 發佈:2019-01-27
最近在研究itextsharp對PDF檔案的加密,整理如下,希望幫助到有需要的朋友
部分程式碼如下:
說明:itextsharp版本為5.1.2.0public static string src = "";//要加密的PDF檔案 public static string dest="";//加密後生成的PDF檔案 static void Main(string[] args) { if (string.IsNullOrEmpty(src) || string.IsNullOrEmpty(dest)) Console.WriteLine("原始檔或目標檔案不能為空"); PdfReader reader = new PdfReader(src); //讀取要加密的PDF檔案 int n = reader.NumberOfPages; //獲取PDF檔案的頁數 Rectangle pagesize = reader.GetPageSize(1); Document document = new Document(pagesize); FileStream stream = new FileStream(dest, FileMode.Create); PdfCopy copy = new PdfCopy(document, stream); copy.SetEncryption(PdfWriter.STRENGTH128BITS, "123", null, PdfWriter.AllowCopy | PdfWriter.AllowPrinting); //加密必須放在文件開啟之前 document.Open(); //寫檔案 for (int i = 1; i <= n; i++) { PdfImportedPage page = copy.GetImportedPage(reader, i); copy.AddPage(page); } document.Close(); Console.WriteLine("文件加密完成"); }