Я использую itext7 для цифровой подписи PDF-файла с использованием специального внешнего вида. Я открыл документ в режиме добавления, и для повернутых страниц подпись отображается неправильно. Я попытался установить setIgnorePageRotationForContent, но похоже, что он не применяется к содержимому слоя 2 внешнего вида подписи.
Вот пример:
ItextTextPdf.PdfReader reader = new ItextTextPdf.PdfReader(stream);
using (MemoryStream ms = new MemoryStream())
{
PdfWriter writer = new PdfWriter(ms);
StampingProperties stamping = new StampingProperties().UseAppendMode();
PdfSigner signer = new PdfSigner(reader, writer, stamping);
PdfSignatureAppearance signatureAppearance = signer.GetSignatureAppearance();
signatureAppearance.SetReason(Reason);
signatureAppearance.SetLocation(Reason);
Rectangle signRectangle = new iText.Kernel.Geom.Rectangle(llx, lly, width, height);
var page = signer.GetDocument().GetPage(SignatureSettings.Page);
page.SetIgnorePageRotationForContent(true);
signatureAppearance.SetPageRect(signRectangle).SetPageNumber(SignatureSettings.Page);
bouncyCastleCrypto.Org.BouncyCastle.X509.X509CertificateParser cp = new bouncyCastleCrypto.Org.BouncyCastle.X509.X509CertificateParser();
bouncyCastleCrypto.Org.BouncyCastle.X509.X509Certificate[] pk = new bouncyCastleCrypto.Org.BouncyCastle.X509.X509Certificate[] { cp.ReadCertificate(cert.RawData) };
signer.SignDetached(new AlliumDMSSigner.X509Certificate2Signature(cert, HashAlgorithmName), pk, null, null, null, 0, PdfSigner.CryptoStandard.CMS);
Подробнее здесь: https://stackoverflow.com/questions/785 ... ot-visible