iText PdfStamper aumenta o tamanho de um pdf assinado
Por que o PdfStamper aumenta o tamanho dos meus PDFs assinados a cada uso?
Esse é o meu código:
private static void test(String src, String pwd, String dest) throws Exception {
byte[] pwdByte = pwd != null ? pwd.getBytes() : null;
PdfReader r = null;
PdfStamper stp = null;
FileOutputStream fos = null;
try {
r = new PdfReader(src, pwdByte);
fos = new FileOutputStream(dest);
stp = new PdfStamper(r, fos, '\0', true);
} finally {
stp.close();
fos.close();
r.close();
}
}
Se eu chamar teste, o pdf resultante aumentará o tamanho, dependendo das informações assinadas:
Meu pdf inicial tem um sinal LTV, mas preciso adicionar um carimbo de data / hora. Preciso adicionar addLtv () alguns pdfs e addLtvNoTs () mais tarde, porque é um TSA diferente. Isso faz com que duas vezes o PdfReader seja chamado no modo anexado e toda vez que eu faço isso aumenta o meu pdf em aproximadamente 190kb. Isso significa aumentar 380kb.http://developers.itextpdf.com/question/how-enable-ltv-timestamp-signature
Eu testei a chamada acima do método de teste com um pdf com um simples cantar e toda vez que eu chamo test () no pdf resultante, ele aumenta 3,5kb a cada vez (acho que devido a pequenas informações de sinal).
Por que o pdfstamper aumenta o tamanho do meu pdf se ele está assinado, mesmo que eu não adicione nenhuma alteração? Como posso evitá-lo? 390kb é um problema, porque preciso renunciar a milhares de pdfs e armazená-los.
Estou usando o itext 5.5.9
Desde já, obrigado!