创建新PDF PDF权限控制

        /// <summary>
        /// 创建新PDF(权限控制)
        /// 至于异常处理自己看着加(会损失一点性能)
        /// </summary>
        /// <param name="oldFile">原文件路径</param>
        /// <param name="newFile">目标文件路径</param>
        public static void SaveNewPDF(string oldFile, string newFile)
        {
            try
            {
                //创建PDF阅读器
                PdfReader reader = new PdfReader(oldFile);
                //创建一个新文档
                Document document = new Document();
                //创建原文件文件流
                FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);

                //创建PDF写入器
                PdfWriter writer = PdfWriter.GetInstance(document, fs);
                /*
                 * PDF浏览权限设置
                 * true、用户密码、所有者密码、0
                 * */
                writer.SetEncryption(true, null, null, 0);

                //打开文档进行编辑
                document.Open();
                //创建PDF内容目标对象
                PdfContentByte cb = writer.DirectContent;
                //获取原文件的总页数
                int pagecount = reader.NumberOfPages;
                //导入原PDF文件到新文件
                for (int i = 1; i <= pagecount; i++)
                {
                    //设置页大小
                    document.SetPageSize(reader.GetPageSizeWithRotation(i));
                    //开辟一个新页
                    document.NewPage();
                    //获取当前页
                    PdfImportedPage page = writer.GetImportedPage(reader, i);
                    cb.AddTemplate(page, 0, 0);
                }

                //关闭文档对象
                document.Close();
                //关闭文件流
                fs.Close();
                //关闭写入器
                writer.Close();
                //关闭读取器
                reader.Close();
            }
            catch (Exception)
            {
                throw;
            }

        }


      

  

原文地址:https://www.cnblogs.com/chenghu/p/3042433.html