Я использую itextpdf-5 для подписи на PDF. Я хотел бы подписать документ, но сделать невидимыми все поля (причина, местоположение), кроме изображения. Я могу сделать это в сторонней программе (прилагаю пример такого PDF: подпись хранит все данные, но не отображает). Я не нашел ничего подобного в документации, чтобы сделать это в моей программе (я прилагаю пример кода)
Пример PDF со скрытыми данными
private static void emptySignature(String src, String dest, String sigName, int page, int x, int y) {
try {
Image image = Image.getInstance(new File(currentPatient.getCurrentSign().getLocalFilePath()).toURL());;
PdfReader reader = new PdfReader(src);
FileOutputStream os = new FileOutputStream(dest);
PdfStamper stamper = PdfStamper.createSignature(reader,os,'\0',new File("data/results/temp"),true);
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
appearance.setVisibleSignature(new Rectangle(x,y,x+80,y-60),page,sigName);
//Hide it!
appearance.setReason("Nikita");
appearance.setLocation("Sanitas");
//No hide
appearance.setImage(image);
ExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.ADOBE_PPKLITE, PdfName.ADBE_PKCS7_DETACHED);
MakeSignature.signExternalContainer(appearance,external,8192);
os.close();
reader.close();
stamper.close();
} catch (Exception ex) {}
}