Jump to content

Recommended Posts

Posted
On 8/26/2021 at 1:57 PM, Jose Sanches said:

Olá boa tarde,

Disponibilizei uma aplicação funcional no GitHub.

Nota: esta aplicação deverá ser "vista" como ponto de partida.

Bem, depois de dar uma "vista de olhos" ao código, fiquei com o cérebro a andar à roda! Imagino o que passaste para conseguir criar esta "base" funcional! 😄 (tal como previa, é um manancial de classes que teria de analisar com muito tempo e provavelmente refazer à minha maneira)

Nota-se muito bem a complexidade deste processo. A AMA deveria ter exemplos de implementação para poderem servir de base para desenvolvimento...

The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

  • 1 month later...
Posted (edited)

Recentemente dei de caras com este código que me resolveu o problema de assinar pdf's através da AMA.

O problema é que agora deixou novamente de funcionar por dois motivos.

1º Os 8192 bits reservados para a assinatura (aquando da criação da assinatura vazia) deixaram de ser suficientes devolvendo sempre "Available space is not enough for signature.".

2º Ao realizar o processo em dois passos obtenho sempre um pdf assinado com a assinatura inválida (O documento foi alterado ou corrompido desde que foi assinado)

O código já esteve a funcionar corretamente mas agora, sem ainda ter percebido o porquê, deixou de assinar o pdf com sucesso.

Alguém já passou pelo mesmo problema?

Obrigado

Edited by Rui Teixeira
Posted

Olá boa tarde,

Isso pode acontecer se o PDF é muito grande. Verifique qual o tamanho do PDF.

O PDF já contém alguma assinatura? Alterou a versão do iText?

Caso o problema persista, verifique calculo da memoria reservada para assinatura, existem vários exemplos do "stackoverflow"

Posted (edited)
4 hours ago, Nuno Carreira said:

Bom dia,

O itext7-core é gratis certo?

<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.7</version>
<type>pom</type> </dependency>
 

Longe disso! É caro e "bem" caro! https://www.youtube.com/watch?v=QHF3xcWnSD4

A última versão com licença de distribuição que não exige o pagamento de uma licença específica ao developer é a itext-2.1.7

Funciona impecavelmente, mas como o itext já teve alguns "refactorings" ao longo dos anos, nem todos os exemplos de código encontrados são compatíveis, pelo que é preciso partir alguma pedra (por exemplo, tive de reescrever as rotinas de assinatura e merge de PDF "como deve ser" para efectuar o processamento em DISCO e não em RAM, para evitar problemas de OUT OF MEMORY com PDFs de tamanho muito grande)

A API mais recente tem formas mais elegantes de o fazer, mas no itext-2.1.7 também é possível fazer practicamente "tudo"

Edited by marcolopes

The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Posted (edited)
Em 15/10/2021 às 19:52, Jose Sanches disse:

Olá boa tarde,

Isso pode acontecer se o PDF é muito grande. Verifique qual o tamanho do PDF.

O PDF já contém alguma assinatura? Alterou a versão do iText?

Caso o problema persista, verifique calculo da memoria reservada para assinatura, existem vários exemplos do "stackoverflow"

Boa tarde,

O PDF que utilizo é o mesmo que usei quando consegui assinar.

O itext é o 7.1.15 e a memória reservada coloquei um valor maior e já não dá o erro "Available space is not enough for signature." 

Continuo a conseguir assinar mas fica sempre com a mensagem (O documento foi alterado ou corrompido desde que foi assinado).

Alguém consegue ajudar-me?

Obrigado

  Edited by Rui Teixeira
Posted (edited)
Em 21/10/2021 às 13:11, Rui Teixeira disse:

Boa tarde,

O PDF que utilizo é o mesmo que usei quando consegui assinar.

O itext é o 7.1.15 e a memória reservada coloquei um valor maior e já não dá o erro "Available space is not enough for signature." 

Continuo a conseguir assinar mas fica sempre com a mensagem (O documento foi alterado ou corrompido desde que foi assinado).

Alguém consegue ajudar-me?

Obrigado

 

Bom dia,
Tive esse mesmo problema, foi resolvido neste topico no stackoverflow https://stackoverflow.com/questions/69131022/java-itext7-pdf-sign-problem-document-has-been-altered-or-corrupted-since-it-w
Caso seja preciso mais alguma coisa, é só dizer.

Como o itext não é gratis, estou a desenvolver o mesmo processo com o PDFBox. Caso alguem tenha feito o mesmo e quiser ajudar, mandem-me mensagem.

Obrigado

Edited by Nuno Carreira

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.