Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.05.2018(UTC) Сообщений: 38 Сказал(а) «Спасибо»: 7 раз Поблагодарили: 2 раз в 2 постах
|
Автор: city-med.info еще одна проблема. Хочу использовать свой стиль оформления, беру пример из документации Код: jso.CPSign(GetCertificateHEX(MyCert.Thumbprint, Cert), // certificateHEX
'', // pin
1, // pdfLockMode
'Причина: тест', // signReason
'Местоположение: тестовое', // signLocation
'контакт', // signContactInfo
'http://qs.cryptopro.ru/tsp/tsp.srf', // timeStamp
false, // bShowCertificatesDialog
false, // bShowSignDialogs
'{"pageNumber": 0, '
+' "coords": [400, 110, 600, 10], ' // лев верх прав низ
+' "customAppearance": '
+'{"font": "Arial", '
+' "borderStyle": border.b, '
+' "borderColor": color.black, '
+' "borderWidth": 2, '
+' "textFields": [{"text": "ДОКУМЕНТ ПОДПИСАН", "coords": [10, 100, 100, 10]}'
+']}}');
и в таком виде не принимает, говорит "Неправильно задан параметр отбражения подписи." именно "отбражения" ))) что я пропустил, по-вашему? отчего скрипт не принимает такой json-объект? В textFields пропущена ещё одна закрывающая квадратная скобка.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
Автор: Shuraken В textFields пропущена ещё одна закрывающая квадратная скобка.
ну нет же, посмотри самую последнюю строку, она начинается с квадратной скобки, завершающей массив textFields
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
победил с это с Божьей помощью, ниже рабочий вариант видимой подписи с использованием customAppearance Код: jso.CPSign(GetCertificateHEX(MyCert.Thumbprint, Cert), // certificateHEX
'', // pin
1, // pdfLockMode
'Причина: тест', // signReason
'Местоположение: тестовое', // signLocation
'контакт', // signContactInfo
'http://qs.cryptopro.ru/tsp/tsp.srf', // timeStamp
false, // bShowCertificatesDialog
false, // bShowSignDialogs
'{"pageNumber": 0, '
+'"coords": [400, 110, 600, 10], ' // лев верх прав низ
+'"customAppearance": '
+'{"font": "Arial", '
+'"borderStyle": "beveled", ' // solid dashed beveled inset underline
+'"borderColor": ["RGB", 0, 0, 255], '
+'"borderWidth": 2, '
+'"textFields": [{"text": "ДОКУМЕНТ ПОДПИСАН", "coords": [10, 100, 100, 10]}]}}');
ответ был найден в JavaScript for Acrobat API Reference на кой хрен было придумывать вот это вот, непонятно: border.s - сплошная граница; border.b - сплошная граница со скошенными краями, border.d - пунктирная граница, border.i - сплошная граница со скошенными внутрь краями; border.u - граница с подчеркиванием по нижнему краю поля подписи. на данный момент открыт вопрос, как сделать видимый вариант подписи в соотв с законом 63ФЗ там красивая рамочка с круглыми углами, тэгами border такое сделать не получается.
|
1 пользователь поблагодарил city-med.info за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
Автор: Андрей * Про GetCertificateHEX - почему там пробелы выдаются?
доброго времени суток! с сертификатами и передачей параметров разобрались, остался вопрос по оформлению в соответствии с 63ФЗ если делать подпись средствами акробата и КриптоПРО ПДФ, то там просто соответствующая галочка ставится. в функции CPSign возможности такой галочки не описано, стало быть надо руками делать. вопрос, как? и еще вопрос сразу задам, возможно ли появление такой галочки в будущих версиях скрипта CPSign ?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
эгегей, есть кто живой?) ответьте уже что-нибудь про 63ФЗ
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
молчат, как рыба об лёд))) ладно, пока сам расскажу как выяснить размер страницы документа, чтобы верно выставить координаты. Как-то так вышло что вроде у А4 документов чуть-чуть да различаются размеры. У акробата это называется User Space Получить можно так: Код:var
.....
gApp: CAcroApp;
PDDoc: CAcroPDDoc;
AVDoc: CAcroAVDoc;
PdfPage, PageSize, jso: Variant;
vert, hor: integer;
.....
begin
.............
gApp := CoAcroApp.Create;
AVDoc := CoAcroAVDoc.Create;
if AVDoc.Open(FName1, FName2)=false then Exit;
PDDoc := AVDoc.GetPDDoc as CAcroPDDoc;
PdfPage:= PDDoc.AcquirePage(PDDoc.GetNumPages-1); // последняя страница
PageSize:= PdfPage.GetSize;
vert:=PageSize.y;
hor:=PageSize.x;
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
еще вопрос возник: подписанный ПДФ с изначальным размером 504кб имеет размер 994кб после подписания с помощью скрипта CPSign но если его же открыть акробатом, и подписать с помощью встроенного инструмента Сертификаты (плагином КриптоПро), то размер 630кб
отчего так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: city-med.info еще вопрос возник: подписанный ПДФ с изначальным размером 504кб имеет размер 994кб после подписания с помощью скрипта CPSign но если его же открыть акробатом, и подписать с помощью встроенного инструмента Сертификаты (плагином КриптоПро), то размер 630кб
отчего так? Резервируется байтовый диапазон для подписи с запасом + сверить исходную версию PDF и подписанную. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
Автор: Андрей * сверить исходную версию PDF и подписанную. так одинаковые же они визуально
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.03.2019(UTC) Сообщений: 27 Откуда: Хабаровск Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
еще возникла проблема с определением запароленности контейнеров КриптоПРО можно конечно для всех подряд сертификатов спрашивать пин-коды, но хотелось бы спрашивать только при необходимости
вопрос: как определить, установлен ли пин-код на контейнере средствами CryptoAPI?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close