62,046
社区成员
发帖
与我相关
我的任务
分享
//PDF加密
public static void Encode(string pdfSrc, string pdfDest, bool strength,
string userPassword, string ownerPassword, int permissions)
{
PdfReader reader = new PdfReader(pdfSrc);
Stream os = (Stream)(new FileStream(pdfDest, FileMode.Create));
PdfEncryptor.Encrypt(reader, os, strength, userPassword, ownerPassword, permissions);
}
//PDF解密
public static void Decode(string pdfSrc, string pdfDest, string ownerPassword)
{
PdfReader reader = new PdfReader(pdfSrc, Encoding.Default.GetBytes(ownerPassword));
Stream os = (Stream)(new FileStream(pdfDest, FileMode.Create));
PdfEncryptor.Encrypt(reader, os, null, null,
PdfWriter.AllowAssembly | PdfWriter.AllowFillIn | PdfWriter.AllowScreenReaders | PdfWriter.AllowPrinting, false);
}
/// <summary>
/// PDF解密 有密码的PDF文件生成为无密码的
/// </summary>
/// <param name="inputFile">PDF加密文件路径</param>
/// <param name="outputFile">PDF去除密码后文件路径</param>
/// <param name="ownerPassword">拥有全部权限的密码</param>
public static void Decode(string inputFile, string outputFile, string ownerPassword)
{
PdfReader reader = new PdfReader(inputFile, new ASCIIEncoding().GetBytes(ownerPassword));
using (MemoryStream memoryStream = new MemoryStream())
{
PdfStamper stamper = new PdfStamper(reader, memoryStream);
stamper.Close();
reader.Close();
File.WriteAllBytes(outputFile, memoryStream.ToArray());
}
}