É possível definir onde as assinaturas e rubricas serão inseridas em documentos PDF ou DOCX usando textos âncora.
Basta inserir um identificador, como "<<signer1>>", no documento, e a plataforma posicionará automaticamente a assinatura ou rubrica no exato local onde esse texto aparecer.
Dica: utilize << >> para evitar conflitos com palavras comuns do documento.
Campos
signature_placement: define o local da assinatura usando texto âncora.
Exemplo: "signature_placement": "<<signer1>>"
rubrica_placement: define o local da rubrica usando texto âncora.
Exemplo: "rubrica_placement": "<<signer1Rubrica>>"
Se o texto aparecer mais de uma vez, a assinatura ou rubrica será posicionada em todos os locais.
Antes de começar, veja como a funcionalidade funciona na plataforma web:
Se ainda não conhece, veja abaixo:
Após subir um novo documento, clique em "Opcional: Posicionar assinaturas"
A assinatura do signatário será posicionada nesses campos.
Como funciona o posicionamento via API?
E como a ZapSign calcula onde essas assinaturas devem ser posicionadas? De acordo com os cálculos abaixo:
Temos o eixo x e eixo y começando no canto inferior esquerdo de cada página.
O posicionamento acima representado, da assinatura de "Fulano Silveira" na metade direita do documento, corresponderia ao JSON:
Abaixo segue uma explicação detalhada de cada um dos campos.
relative_position_left e relative_position_bottom: Posicionando a assinatura no documento
É necessário tomar alguns cuidados, para que as assinaturas não fiquem fora do documento. Por exemplo, se o relative_position_left for de 80, o relative_size_x não deve ser maior do que 20 (totalizando 100 que é o eixo X). Se essa soma for maior do que 100, a assinatura ficaria em parte para fora do documento.
relative_size_x e relative_size_y: Mantendo a proporção da assinatura
Caso seu PDF seja uma folha A4 vertical (mais comum), recomenda-se utilizar sempre os valores relative_size_x: 19.55 e relative_size_y: 9.42, como no exemplo acima. Se você quiser aumentar o tamanho da assinatura, multiplique-os pelo mesmo número, para que a razão seja mantida.
Obs.: caso se trate de uma rubrica com type "visto", recomenda-se relative_size_x: 13.76 e relative_size_y: 9.42
Caso o PDF seja uma folha A4 horizontal, recomendam-se os valores de relative_size_x: 15.05 e relative_size_y: 12.13.
Obs.: caso se trate de uma rubrica com type "visto", recomenda-se relative_size_x: 10.58 e relative_size_y: 12.13
page: Como definir a página em que a assinatura será posicionada
O parâmetro page equivale a cada página do documento, começando no 0. Se você quiser posicionar a assinatura no mesmo local em todas as páginas, é necessário passar o objeto mais de uma vez. Por exemplo:
Perguntas frequentes
Como eu sei se o posicionamento das assinaturas deu certo? R.: Você só saberá depois que o documento for assinado, conferindo diretamente o PDF. As validações devem ser feitas do seu lado.
Caso o posicionamento tenha sido feito errado, tem como eu mudar? R.: Para sobrescrever o posicionamento das assinaturas anterior, basta fazer um novo POST para essa rota, que todos posicionamentos anteriores serão deletados e substituídos pelos novos.
Como eu posso cancelar o posicionamento de assinaturas? R.: Basta fazer um post com o objeto rubricas sendo um array vazio. Ex: {"rubricas":[ ]}
O documento assinado é atualizado sempre que eu mudar o posicionamento das assinaturas? R.: Não!!! O novo posicionamento só será aplicado depois que um novo signatário assinar o documento. Isto é, o documento não será atualizado toda vez que você alterar o posicionamento de assinaturas, mas apenas quando algum signatário assinar.
{
"page": 0, //primeira página do documento
"relative_position_bottom": 42.50, //distância de 0 a 100 da extremidade inferior da página
"relative_position_left": 65.71, //distância de 0 a 100 da extremidade esquerda da página
"relative_size_x": 19.55, //tamanho de 0 a 100 da assinatura em comparação à largura da página
"relative_size_y": 9.42, //tamanho de 0 a 100 da assinatura em comparação à altura da página
"signer_token": "cf1c0b7a-03d3-468b-97ce-3061e3abcdefg" //token do signatário "Fulano Silveira"
}