We face an issue that client couldn't open the 256-AES password protected PDF with Adobe product in their Android phone, below are our test result :-
- ABLE to open via Adobe in PC
- ABLE to open via Adobe in iPhone
- ABLE to open via GDrive, Microsoft Office, OneDrive in Android
- NOT ABLE to open via Adobe reader (or any Adobe related product) in Android
**With Adobe Android, We do able to open with Permission Password but not Open Password.
Here's the code we use (Spire.PDF 8.12.7):-
- Code: Select all
var result = new Spire.Pdf.PdfDocument();
Spire.Pdf.Security.PdfEncryptionKeySize keySize = Spire.Pdf.Security.PdfEncryptionKeySize.Key256Bit;
Spire.Pdf.Security.PdfPermissionsFlags allowPrint = Spire.Pdf.Security.PdfPermissionsFlags.Print;
result.Security.Encrypt("123456789", "M123456789", allowPrint, keySize);
Spire.Pdf.Graphics.PdfMargins pdfMargin = new Spire.Pdf.Graphics.PdfMargins();
Spire.Pdf.Graphics.PdfUnitConvertor unitCvtr = new Spire.Pdf.Graphics.PdfUnitConvertor();
pdfMargin.Left = unitCvtr.ConvertUnits(0, Spire.Pdf.Graphics.PdfGraphicsUnit.Pixel, Spire.Pdf.Graphics.PdfGraphicsUnit.Point);
pdfMargin.Right = unitCvtr.ConvertUnits(0, Spire.Pdf.Graphics.PdfGraphicsUnit.Pixel, Spire.Pdf.Graphics.PdfGraphicsUnit.Point);
pdfMargin.Top = unitCvtr.ConvertUnits(0, Spire.Pdf.Graphics.PdfGraphicsUnit.Pixel, Spire.Pdf.Graphics.PdfGraphicsUnit.Point);
pdfMargin.Bottom = unitCvtr.ConvertUnits(0, Spire.Pdf.Graphics.PdfGraphicsUnit.Pixel, Spire.Pdf.Graphics.PdfGraphicsUnit.Point);
var pageSize = Spire.Pdf.PdfPageSize.A4;
Spire.Pdf.PdfPageBase spirePage = result.Pages.Add(pageSize, pdfMargin);
result.SaveToFile($"{rootDir}/result/testing.pdf", Spire.Pdf.FileFormat.PDF);
**In this case, we able to open in Adobe Android using "M123456789" but not "123456789"
As attached is the sample protected PDF