If you have a PDF and want to fill the pdf programmatic-ally, You can but you need those pdf’s form fields.
Here’s a simple Java Class which can help you. I am using iText as my PDF library.
import java.util.HashMap;
import java.util.Iterator;
import com.lowagie.text.pdf.*;
public class iTextSample {
public static void main(String[] args) throws Exception{
PdfReader reader = new PdfReader(“/Users/Admin/Public/jars/a.pdf”);
boolean test = reader.isEncrypted();
System.out.println(test);
AcroFields form = reader.getAcroFields();
HashMap fields = form.getFields();
System.out.println(“Total Fields: ” + fields.size());
String key;
for (Iterator i = fields.keySet().iterator(); i.hasNext(); ) {
key = (String) i.next();
switch(form.getFieldType(key)) {
case AcroFields.FIELD_TYPE_TEXT:
{
System.out.print(key + “: “);
System.out.print(“Text”);
System.out.print(“, At Page:” + form.getFieldItem(key).getPage(0));
System.out.println(“, at tab:” + form.getFieldItem(key).getTabOrder(0));
}
break;
}
}
}
}