我已经编写了将文件附加到我的PDF的代码,但我只想对该嵌入式文件进行加密。但是当我设置嵌入式文件加密时,整个PDF都会被加密。这是我的代码:
string[] packageitems = { @"C:\Users\pc\Documents\PDF Embed\1\books.xml" };
try
{
byte[] USER = System.Text.Encoding.ASCII.GetBytes("abc");
byte[] OWNER = System.Text.Encoding.ASCII.GetBytes("xyz");
PdfReader reader = new PdfReader(@"C:\Users\pc\Documents\PDF Embed\1\Sample4.pdf");
FileStream outputstream = new FileStream(@"E:\abc.pdf", FileMode.Create, FileAccess.Write, FileShare.None);
PdfStamper stamp = new PdfStamper(reader, outputstream);
PdfWriter attachment = stamp.Writer;
attachment.SetEncryption(USER, OWNER, 0, PdfWriter.EMBEDDED_FILES_ONLY);
PdfFileSpecification pdfAttch = PdfFileSpecification.FileEmbedded(attachment, packageitems[0], packageitems[0], null);
stamp.AddFileAttachment(packageitems[0], pdfAttch);
stamp.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}