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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline diggmih  
#1 Оставлено : 20 февраля 2024 г. 22:51:01(UTC)
diggmih

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

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

Добрый день!
Для пакетного подписания из Acrobat PRO использую скрипт:
var doc = this;
var f = doc.addField("Signature1", "signature", 0, [10, 67, 122, 24]);
var engine = security.getHandler('CryptoPro PDF');
var c = security.importFromFile({ cType:'Certificate', cDIPath:'/c/111/rrr.cer', bUI:false });
engine.login({ oParams:{ oEndUserSignCert:c } });
var myInfo = {
appearance: "aaa" //Шаблон созданный в самом Acrobat
};
f.signatureSign({ oSig: engine, oInfo: myInfo, bUI: false });

Всё хорошо, но хотелось бы штамп привести к стандарту 63-ФЗ, а редактор шаблонов в Acrobat крайне убогий.
В пункте 3.2 "Руководства..." указан метод вызова объекта customAppearance для задания вывода своей информации.
Пробовал изменить свой скрипт в такой вид:
var doc = this;
var f = doc.addField("Signature1", "signature", 0, [50, 100, 250, 60]);
var engine = security.getHandler('CryptoPro PDF');
var c = security.importFromFile({ cType:'Certificate', cDIPath:'/c/111/rrr.cer', bUI:false });
engine.login({ oParams:{ oEndUserSignCert:c } });
var myInfo = {
customAppearance:
{
font: "Calibri",
borderStyle: border.s,
borderColor: color.black,
borderWidth: 1,
textFields:
[
{
text: " ДОКУМЕНТ ПОДПИСАН \nЭЛЕКТРОННОЙ ПОДПИСЬЮ",
coords: [50, 100, 250, 60]
},
{
type: "CN",
coords: [10, 60, 300, 40],
fontSize: 11
},
{
type: "SerialNumber",
coords: [10, 40, 300, 20],
fontSize: 11
},
{ text: "Компания: ООО \"Фирма\"",
coords: [10, 20, 300, 0],
fontSize: 11
}
]
}
};
f.signatureSign({ oSig: engine, oInfo: myInfo, bUI: false });
Но по итогу выходит штамп с дефолтным шаблоном Acrobat.

Хотелось бы понять куда копать чтобы получить требуемое.
Offline Владимир Кудрявцев  
#2 Оставлено : 21 февраля 2024 г. 8:34:06(UTC)
Владимир Кудрявцев

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 37 раз в 29 постах
Здравствуйте!

В руководстве по автоматизации https://cryptopro.ru/sit...cryptopropdf_ecp.pdf.pdf на странице 39 указан пример инициализации, очень похожий на ваш, а на следующей странице - пример для готового оформления по 63-ФЗ. Он не подходит?
Полезные ссылки: техническая поддержка - тут, база знаний - тут.
Offline diggmih  
#3 Оставлено : 21 февраля 2024 г. 11:58:53(UTC)
diggmih

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

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

Автор: Владимир Кудрявцев Перейти к цитате
Здравствуйте!

В руководстве по автоматизации https://cryptopro.ru/sit...cryptopropdf_ecp.pdf.pdf на странице 39 указан пример инициализации, очень похожий на ваш, а на следующей странице - пример для готового оформления по 63-ФЗ. Он не подходит?


Так этот код я и использовал.
Как я понял что customAppearance должен ссылаться на функцию CPSign в файле CPPDFDSig.js
Я переносил весь текст кода в свой скрипт, копировал только блок CPSign, но всё равно Acrobat цепляет дефолтный шаблон.
Подскажите как правильно подгрузить функцию CPSign чтобы можно было использовать объект customAppearance.
Offline Владимир Кудрявцев  
#4 Оставлено : 22 февраля 2024 г. 11:37:20(UTC)
Владимир Кудрявцев

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 37 раз в 29 постах
Вы пишете "пробовал изменить свой скрипт в такой вид" и указываете дальше шрифты и тексты, хотя есть пример готового варианта для 63-ФЗ.
Код:
var myAppearance =
{
    pageNumber: 0,
    coords: [122, 539, 422, 439],
    customAppearance:
    {
      appearanceType: 4,
      logoFile: "C:\\ Pictures\\Desert.jpg"
    }
};

Меня этот момент смутил. Возможно коллеги подскажут по реализации кода. Я посматриваю за этой веткой, но на ваш вопрос ответить сходу не могу.

Upd. Уточню: "оформление по 63-ФЗ" и "своё оформление" это 2 разных вида appearanceType. Могу ошибаться, но вроде как для нашего варианта вы используете appearanceType: 4 и всё, что можно настроить это страница и координаты - то есть как в процитированном примере. Либо же надо указывать другой тип и его уже настраивать в соответствии с его документацией - это уже ваш код. И похоже, что у вас вместо поля appearance заведено сразу поле customAppearance, а похоже что customAppearance должен быть "дочерним полем" внутри appearance. А не вместо. Примеры для разработчиков по принципу встраивания есть в папке Acrobat DC SDK\Version 1\InterAppCommunicationSupport.

Отредактировано пользователем 26 февраля 2024 г. 14:04:23(UTC)  | Причина: Не указана

Полезные ссылки: техническая поддержка - тут, база знаний - тут.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.