Show / Hide Table of Contents

    Передача параметров шаблона в метод подписи документов

    Если в документ необходимо поставить видимую подпись, то в дополнительные параметры следует положить два значения: первое – идентификатор шаблона в качестве значения параметра PdfSignatureTemplateId, второе – параметры шаблона в качестве значения параметра PdfSignatureAppearance.

    Примечание

    Возможные значения параметра PdfSignatureTemplateId зависят от вида шаблона отображаемой подписи. Поле TemplateId при использовании каждого из шаблонов должно иметь значение 1, 2 или 3 соответственно.

    Примечание

    Параметр шаблона отображаемой подписи Page может иметь как положительные, так и отрицательные значения. Отрицательные значения показывают, что количество страниц нужно отсчитывать от последней страницы документа в сторону начала. При этом значение -1 соответствует последней странице документа.

    Содержимое шаблона должно быть представлено как json-объект, сериализованный в UTF-8 строку и закодированный в BASE64.

    Пример запроса на подпись PDF-документа, включающий в себя отображаемую подпись в виде набора текстовых данных:

    POST http://<hostname>/SignServer/rest/api/documents HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer 
    User-Agent: PostmanRuntime/7.15.2
    Accept: */*
    Cache-Control: no-cache
    Host: grand-pc
    Cookie: ASP.NET_SessionId=maaczeeyn5tx02wjtwy41cfc; __RequestVerificationToken_L1NUUw2=mfsOa7NJ4_N7PxmvjMjdv3B36CRqSzKaWOO-UV3o74Is1n2lJCo6KTaInVogpMvWiS6lkp5YI5jypYkgzn4g1YwEMX-mwwtNI4ZtYteIkoE1
    Accept-Encoding: gzip, deflate
    Content-Length: 74210
    Connection: keep-alive
    
    {
        "Content": "JVBERi0xL...",
        "Signature": {
            "Type": "PDF",
            "Parameters": {
                "PDFFormat": "CMS",
                "PdfSignatureAppearance":"eyJDb2...",
                "PdfSignatureTemplateId": "1"
                },
            "CertificateId": 1006,
            "PinCode": ""
        }
    }
    

    Примеры содержимого параметра PdfSignatureAppearance для различных шаблонов.

    Простой текстовый шаблон (PdfSignatureTemplateId = 1)

    {
        "Content": [{
            "Text": "Подлинник электронного документа, подписанного ЭП, хранится в системе элеткронного документооборота Минкомсвзяи России.",
            "Font": {
                "FontSize": 4,
                "FontFamily": "arial",
                "FontStyle": 0,
                "FontColor": {
                    "Red": 0,
                    "Green": 0,
                    "Blue": 0
                }
            }
        },
        {
            "Text": "СВЕДЕНИЯ О СЕРТИФИКАТЕ ЭП:",
            "Font": {
                "FontSize": 8,
                "FontFamily": "times",
                "FontStyle": 0,
                "FontColor": {
                    "Red": 0,
                    "Green": 0,
                    "Blue": 0
                }
            }
        },
        {
            "Text": "Кому выдан: Иванов Иван Иванович",
            "Font": {
                "FontSize": 8,
                "FontFamily": "times",
                "FontStyle": 0,
                "FontColor": {
                    "Red": 0,
                    "Green": 0,
                    "Blue": 0
                }
            }
        },
        {
            "Text": "Кем выдан: УЦ Минкомсвязи",
            "Font": {
                "FontSize": 8,
                "FontFamily": "times",
                "FontStyle": 0,
                "FontColor": {
                    "Red": 0,
                    "Green": 0,
                    "Blue": 0
                }
            }
        },
        {
            "Text": "Действителен: с 12.12.2015 по 12.12.2016",
            "Font": {
                "FontSize": 8,
                "FontFamily": "times",
                "FontStyle": 0,
                "FontColor": {
                    "Red": 0,
                    "Green": 0,
                    "Blue": 0
                }
            }
        }],
        "TemplateId": 1,
        "Rect": {
            "LowerLeftX": 215,
            "LowerLeftY": 10,
            "UpperRightX": 405,
            "UpperRightY": 85,
            "BorderRadius": 0,
            "BorderWeight": 1,
            "BorderColor": {
                "Red": 75,
                "Green": 13,
                "Blue": 100
            },
            "BackgroundColor": null,
            "ContentMargin": 5
        },
        "Page": 1
    }
    

    Base64-encoded содержимое шаблона может быть загружено здесь: Base64-encoded

    Как видно из примера, шаблон состоит из прямоугольника подписи Rect, описывающего позицию и размеры штампа, а также набора текстовых блоков в поле Content, которые в этот штамп входят.

    Результатом использования приведенного выше шаблона при формировании подписи является следующий штамп:

    image

    Шаблон с логотипом и текстом (PdfSignatureTemplateId = 2)

    {
       "Content":[
          {
             "Text":"Подлинник электронного документа, подписанного ЭП, хранится в системе элеткронного документооборота Минкомсвзяи России.",
             "Margin":50,
             "Font":{
                "FontSize":4,
                "FontFamily":"arial",
                "FontStyle":0,
                "FontColor":{
                   "Red":0,
                   "Green":0,
                   "Blue":0
                }
             }
          },
          {
             "Text":"СВЕДЕНИЯ О СЕРТИФИКАТЕ ЭП",
             "Margin":50,
             "Font":{
                "FontSize":8,
                "FontFamily":"times",
                "FontStyle":0,
                "FontColor":{
                   "Red":0,
                   "Green":0,
                   "Blue":0
                }
             }
          },
          {
             "Text":"Кому выдан: Иванов Иван Иванович",
             "Font":{
                "FontSize":8,
                "FontFamily":"times",
                "FontStyle":0,
                "FontColor":{
                   "Red":0,
                   "Green":0,
                   "Blue":0
                }
             }
          },
          {
             "Text":"Кем выдан: УЦ Минкомсвязи",
             "Font":{
                "FontSize":8,
                "FontFamily":"times",
                "FontStyle":0,
                "FontColor":{
                   "Red":0,
                   "Green":0,
                   "Blue":0
                }
             }
          },
          {
             "Text":"Действителен: с 12.12.2015 по 12.12.2016",
             "Font":{
                "FontSize":8,
                "FontFamily":"times",
                "FontStyle":0,
                "FontColor":{
                   "Red":0,
                   "Green":0,
                   "Blue":0
                }
             }
          }
       ],
       "TemplateId":2,
       "Icon":{
          "Image":"iVBORw0KGgo...",
          "LowerLeftX":null,
          "LowerLeftY":50,
          "Scale":40
       },
       "Rect":{
          "LowerLeftX":215,
          "LowerLeftY":10,
          "UpperRightX":405,
          "UpperRightY":85,
          "BorderRadius":0,
          "BorderWeight":1,
          "BorderColor":{
             "Red":75,
             "Green":13,
             "Blue":100
          },
          "BackgroundColor":null,
          "ContentMargin":5
       },
       "Page":1
    }
    

    Base64-encoded содержимое шаблона может быть загружено здесь: Base64-encoded

    Данный шаблон помимо текстовых блоков, которые были приведены в предыдущем примере, включает в себя блок изображения Icon, описывающий логотип, который включается в штамп подписи.

    Результатом использования приведенного выше шаблона при формировании подписи является следующий штамп:

    image

    Шаблон в виде изображения (PdfSignatureTemplateId = 3)

    {
       "Background":{
          "Image":"iVBORw0KGg..."
       },
       "TemplateId":3,
       "Rect":{
          "LowerLeftX":10,
          "LowerLeftY":10,
          "UpperRightX":194,
          "UpperRightY":86
       },
       "Page":1
    }
    

    Base64-encoded содержимое шаблона может быть загружено здесь: Base64-encoded

    В данном примере в качестве штампа используется логотип компании, использованный в прошлом примере. Изображение представляет из себя ImageBlock в поле Background, которое будет размещено на всей площади штампа, размеры которго описываются полем Rect.

    Результатом использования приведенного выше шаблона при формировании подписи является следующий штамп:

    image

    Back to top © ООО "КРИПТО-ПРО", 2000-2020