1. 程式人生 > >C# 利用itextsharp對PDF檔案加密

C# 利用itextsharp對PDF檔案加密

最近在研究itextsharp對PDF檔案的加密,整理如下,希望幫助到有需要的朋友

部分程式碼如下:

public 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("文件加密完成");     
        }
說明:itextsharp版本為5.1.2.0