Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline kroligoff  
#1 Оставлено : 15 октября 2020 г. 16:38:08(UTC)
kroligoff

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.06.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Russia

Потратил много времени чтобы добиться корректного отображения визуальной подписи в блоке подписи PDF,
внятных примеров нет.
Используя пример Simple35 из .NET SDK

Оставлю тут для других людей, не удаляйте пожалуйста Whistle :

можно добавить после
sap.SignDate = DateTime.Now;

Код:
sap.Acro6Layers = true;
            sap.SignatureRenderingMode = PdfSignatureAppearance.RenderingMode.DESCRIPTION;
            sap.SetVisibleSignature(new iTextSharp.text.Rectangle(30, 830, 170, 770), 1, "Signature"); //reader.NumberOfPages
            // vvvvv
            PdfTemplate layer2 = sap.GetLayer(2);
            String text = "Это блок подписи\n "
                    + "Линия 2\n"
                    + "Линия 3\n";
            Font font = new Font();
            float size = font.Size;
             float MARGIN = 2;
            Rectangle dataRect = new Rectangle(
                    MARGIN,
                    MARGIN,
                    sap.Rect.Width- MARGIN,
                    sap.Rect.Height - MARGIN);
            if (size <= 0)
            {
                Rectangle sr = new Rectangle(dataRect.Width, dataRect.Height);
                size = ColumnText.FitText(font, text, sr, 12, sap.RunDirection);
            }
            ColumnText ct = new ColumnText(layer2);
            ct.RunDirection=(sap.RunDirection);
            ct.SetSimpleColumn(new Phrase(text, font), dataRect.Left, dataRect.Bottom, dataRect.Right, dataRect.Top, size, Element.ALIGN_LEFT);
            ct.Go();
Offline kroligoff  
#2 Оставлено : 16 октября 2020 г. 12:25:06(UTC)
kroligoff

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.06.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Russia

Да еще, если требуется добавить новую подпись в PDF уже имеющий документ с подписью , необходимо
PdfSigner signer = new PdfSigner(reader, new FileStream(dest, FileMode.Create), tmp,
new StampingProperties().UseAppendMode());

использовать AppendMode, иначе 1 подпись будет испорчена
Offline Serg_0908  
#3 Оставлено : 18 ноября 2020 г. 8:40:34(UTC)
Serg_0908

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.11.2020(UTC)
Сообщений: 1
Российская Федерация

Добрый день! У меня вопрос, с какими параметрами вам удалось выполнить запуск примера
подписи PDF - документа ?

Я установил КриптоПро Net x64 последнй версии, КриптоПро CSP 5.0,
исправил в примере тип сертификата:

Gost3410_2012_256CryptoServiceProvider cert_key = certificate.PrivateKey as Gost3410_2012_256CryptoServiceProvider;

(у меня такой для тестирования)

При выполнении возникает исключение в функции

signedCms.ComputeSignature(cmsSigner, false);

Не поможете объяснить, в чем может быть проблема ? Sample_35_ex.png (180kb) загружен 11 раз(а).
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.