Я хочу установить некоторые поля из поля, созданного с помощью Adobe Acrobat. Я хочу, чтобы окончательно сгенерированный PDF-файл должен содержать компонент цифровой подписи таким, какой он есть.
Я хочу добиться этого, используя Java и itextpdf 5.5.13 jar.
Вот мой код:
//Getting PDF Reader
PdfReader reader = null;
//getting PDF Stamper
PdfStamper stamper = null;
//FacesContext context = FacesContext.getCurrentInstance();
try {
String src = "D:\\workspace2\\runtime-EclipseApplication\\Project\\WebContent\\resources\\" +
"pdf_form_template\\invoice.pdf";
reader = new PdfReader(src);
stamper = new PdfStamper(reader, new FileOutputStream(pdfPath));
//Query and change fields in existing document by method calls.
AcroFields form = stamper.getAcroFields();
form.setField("contactNumber",phone_no);
form.setField("name",name);
form.setField("invoiceNumber",invoice_no);
form.setField("GSTIN",gstin_no);
form.setField("GSTIN_2",gstin_no);
form.setField("Date","06/March/2019");
form.setField("Ms",name);
form.setField("Address 1",address);
form.setField("Pin",pin_no);
form.setField("State Code",state_code);
form.setField("SNoRow1","1.");
form.setField("Amount in Words",amount_in_words);
form.setField("DESCRIPTIONRow1",desc);
form.setField("HSN CODERow1",HSN_code);
form.setField("AMOUNTTaxable Value", texable_value);
form.setField("AMOUNTCGST 18", cgst_value);
form.setField("AMOUNTSGST 9", sgst_value);
form.setField("AMOUNTIGST 9", igst_value);
form.setField("AMOUNTGRAND TOTAL", grand_total);
//digital signature field in form template
form.setField("digitalSignature","");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
if (stamper != null) {
try {
stamper.setFormFlattening(true);
stamper.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (reader != null) {
reader.close();
}
}
Выходной pdf, который я получаю, содержит все установленные поля, кроме цифровой подписи.