pdf 파일에서 특정 페이지를 제거하려면이 코드로 작업하고 있습니다.IText로 PDF 페이지를 제거하면 매번 새로운 출력 해시가 발생합니다.
PdfReader reader = new PdfReader(src);
reader.selectPages("1,2");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
내 문제는 내가이 (같은 입력 파일, 같은 페이지)를 실행 때마다, 출력 파일
뭔가 필요가있는 다양한 해시 (사용 MD = MessageDigest.getInstance ("SHA1")를) 가지고 있다는 것입니다 이 같은
inputFile.pdf (hash_A)
selectPages("1,2")
outputFile.pdf (hash_B)
inputFile.pdf (hash_A)
selectPages("1,2")
outputFile.pdf (hash_B)
하지만이
inputFile.pdf (hash_A)
selectPages("1,2")
outputFile.pdf (hash_B)
inputFile.pdf (hash_A)
selectPages("1,2")
outputFile.pdf (hash_C)
inputFile.pdf (hash_A)
selectPages("1,2")
outputFile.pdf (hash_D)
코드를 얻을 수
,public String quitarPagBlancasPDF(String origen, String destino, int blankPdfsize) {
try {
com.itextpdf.text.pdf.PdfReader r = new com.itextpdf.text.pdf.PdfReader(origen);
String paginas = "";
boolean editado = false;
for (int i = 1; i <= r.getNumberOfPages(); i++) {
byte bContent[] = r.getPageContent(i);
if (bContent.length > blankPdfsize) {
paginas += String.valueOf(i) + ",";
} else {
editado = true;
}
}
if (editado) {
r.selectPages(paginas);
PdfStamper stamper = new PdfStamper(r, new FileOutputStream(destino));
stamper.setFullCompression();
stamper.close();
stamper = null;
r = null;
} else {
r = null;
return "Sin Cambios";
}
} catch (Exception e) {
return e.getMessage();
}
return "OK";
}
Pdfs에는 문서가 마지막으로 변경된 날짜와 시간 및 고유 ID에 대한 정보가 들어 있습니다. 두 가지 요인 모두 항상 다른 해시 값을 갖게됩니다. – mkl