marcolopes Posted September 2, 2021 at 01:18 PM Report #623580 Posted September 2, 2021 at 01:18 PM 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
Rui Teixeira Posted October 15, 2021 at 01:06 PM Report #624163 Posted October 15, 2021 at 01:06 PM (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 October 15, 2021 at 01:11 PM by Rui Teixeira
Jose Sanches Posted October 15, 2021 at 06:52 PM Author Report #624176 Posted October 15, 2021 at 06:52 PM 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"
Nuno Carreira Posted October 18, 2021 at 11:26 AM Report #624188 Posted October 18, 2021 at 11:26 AM 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>
marcolopes Posted October 18, 2021 at 03:40 PM Report #624199 Posted October 18, 2021 at 03:40 PM (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 October 18, 2021 at 03:50 PM by marcolopes The simplest explanation is usually the correct one JAVA Utilities: https://github.com/marcolopes/dma
Nuno Carreira Posted October 21, 2021 at 08:30 AM Report #624282 Posted October 21, 2021 at 08:30 AM (edited) Alguém tem exemplos com o itext-2.1.7 que possa disponibilizar? @marcolopes Obrigado Edited October 21, 2021 at 10:48 AM by Nuno Carreira
iron Posted October 21, 2021 at 09:15 AM Report #624284 Posted October 21, 2021 at 09:15 AM Não sei je tinham visto ou se não faz aquilo que queres, mas o site da autenticação fornece a possibilidade de fazer as assinaturas. https://www.autenticacao.gov.pt/cmd-assinatura Cumprimentos, iron
Rui Teixeira Posted October 21, 2021 at 12:11 PM Report #624302 Posted October 21, 2021 at 12:11 PM (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 October 21, 2021 at 12:11 PM by Rui Teixeira
Nuno Carreira Posted October 25, 2021 at 08:42 AM Report #624325 Posted October 25, 2021 at 08:42 AM (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 October 25, 2021 at 08:44 AM by Nuno Carreira
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now