Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dúvida: C# SDK Assinatura em campos de assinatura já existentes no documento #190

Open
nsemedo opened this issue Nov 25, 2024 · 1 comment

Comments

@nsemedo
Copy link

nsemedo commented Nov 25, 2024

Olá,

Estamos a usar o SDK em C# para o processo de assinatua de documentos com o Cartão do Cidadão, onde estamos a usar o método PTEID_SigningDevice.SignPDF assinar um ou mais documento, no entanto o método obriga a que coloquemos as coordenadas onde queremos que fiquem os campos de assinaturas.

Por vezes os documentos já tem os campos de assinatura criados sem que exista a necessidade deles serem criados pelo SDK. A nossa dúvida é se tem algum método ou existe forma de usar o SDK sem a criação dos campos e possamos indicar o nome dos campos onde a assinatura digital irá ficar.

Adicionalmente temos a necessidade de customizar a aparencia do campo de assinatura e gostaria de saber se tem algum método em que possamos indicar a forma que podemos exibir o campo de assinatura.

Obrigado

@agrr
Copy link
Collaborator

agrr commented Nov 26, 2024

Olá bom dia,

ainda não temos no SDK a possibilidade de assinar em campos de assinatura já existentes no documento.

Quanto às opções para customizar o selo de assinatura existem várias opções nos métodos da classe PTEID_PDFSignature:

  1. enableSmallSignatureFormat: usar um formato de assinatura reduzida com metade da altura normal
  2. setCustomImage: substituir o logo do Cartão de Cidadão ou Chave Móvel por outra imagem
  3. setCustomSealSize: alterar o tamanho do selo de assinatura normalmente com o objetivo de acomodar strings maiores nos campos variáveis (nome, localização, motivo)

Uma opção extra que foi adicionada mais recentemente na aplicação e também está disponível no SDK:
a possibilidade de retirar alguns dos campos que normalmente são mostrados (NIC e data/hora de assinatura).

PTEID_Config seal_options = new PTEID_Config(PTEID_Param.PTEID_PARAM_GUITOOL_SIGNSEALOPTIONS);
seal_options.setLong(3);   //Valor default: os 3 campos ficam visíveis  (nome, NIC e data de assinatura)
seal_options.setLong(2);   //Visível o nome e a data de assinatura
seal_options.setLong(1);   //Visível o nome e o NIC
seal_options.setLong(0);   //Visível apenas o nome

Atenção que esta configuração tem persistência como opção do utilizador ou seja, o valor fica guardado no registry em Windows (HKEY_CURRENT_USER\PTEID) ou no ficheiro de configuração pteid.conf em MacOS e Linux.

Dessa forma é recomendável definir antes da assinatura a opção pretendida e voltar a repôr o valor 3 no final do processo para o utilizador não ter uma configuração inesperada na aplicação Autenticação.gov se for esse o caso.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants