Установите CalRGB при применении визуального представления во время подписания pdf с помощью iText

#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. Нет, я не пытался, но он подумал, что это должно сделать подпись недействительной. В любом случае, я тоже попробую это.