Following is the code I have developed to set a value to a Form Field in a PDF
document. What I was not able to do is to set the Font Size and Type before
writing the value in the PDF document. Can someone help with an example?
public static void main(String args[])
{
String PDFFileName = "Project2.PDF";
String fieldName = "Text1";
try {
PDDocument document = PDDocument.load(PDFFileName);
List list = document.getDocumentCatalog().getAcroForm().getFields();
PDField pdfield;
try {
if (document.isEncrypted()) {
document.decrypt("");
}
} catch (Exception e) {
e.printStackTrace();
throw new IOException("Failed to decrypt document #");
}
for (int i = 0; i < list.size(); i++) {
pdfield = (PDField) list.get(i);
String fldName = pdfield.getPartialName();
if (fldName.equals(fieldName)) {
PDDocumentCatalog docCatalog = document.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
PDField field = acroForm.getField(fldName);
if (field != null) {
// I want to Set the Font Type and Size of the text "04/29/2009"
field.setValue("04/29/2009");
} else {
// Debug
System.err.println("No field found with name:" + fldName);
}
}
}
document.save("test1.PDF");
document.close();
} catch (Exception e) {
System.out.println("Error"+e);
}
}
Thanks & Regards
Venkatesh Prasad.B.K.