#c# #pdf #itext #digital-signature #itext7
#c# #PDF #itext #цифровая подпись #itext7
Вопрос:
Я использую iText 7 для цифровой подписи PDF-документов. Для применения визуального представления используется следующий код:
var vai = new VisualAppearanceImages(parameter, documentToSign, ImageScale); PdfSignatureAppearance appearance = signer.GetSignatureAppearance(); appearance.SetPageNumber(documentToSign.SignatureField.SignaturePage); Rectangle pr = new Rectangle(documentToSign.SignatureField.SignaturePositionX, documentToSign.SignatureField.SignaturePositionY, documentToSign.SignatureField.Width, documentToSign.SignatureField.Height); appearance.SetPageRect(pr); //Set the image (jpeg) image = GetVisualRepresentationImage(); } appearance.SetRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC); ImageData imageData = ImageDataFactory.Create(image); appearance.SetSignatureGraphic(imageData);
Проблема в том, что я должен подписать документ pdf/A1b, в котором не задан параметр OutputIntent. Сама подпись действительна, но документ больше не является действительным pdf/A1b.
pdf/A анализ выходных данных foxit phantom:
PDF/A требует, чтобы, как только используются DeviceGray, DeviceRGB или DeviceCMYK, должен присутствовать вывод с профилем назначения.
Визуальное представление имеет набор DeviceRGB, который затем вызывает проблему, так как contentIntent в pdf не задан.
Я думаю, что установка CalRGB вместо DeviceRGB для визуального представления может решить эту проблему.
Вопрос: Можно ли добавить визуальное представление и установить CalRGB вместо DeviceRGB через iText?
Комментарии:
1. Вы подумывали о том, чтобы добавить
OutputIntent
вместо этого?2. В качестве альтернативы, поскольку проблема заключается в цветовом пространстве изображения, которое вы добавляете к внешнему виду подписи, рассматривали ли вы возможность использования растрового изображения со встроенным надлежащим цветовым пространством?
3. Я думаю, что добавление вывода может не сработать, если pdf-файл уже был подписан. Я рассмотрю использование растрового изображения со встроенным цветовым пространством (я этого не знал).
4. «Я думаю, что добавление вывода может не сработать, если pdf — файл уже подписан». — Вы пробовали? Существует ряд странностей, при которых изменения такого рода допускаются, а при каких-нет…
5. Нет, я не пытался, но он подумал, что это должно сделать подпись недействительной. В любом случае, я тоже попробую это.