Нет .. Другого простого способа сплющить нет, но это круто.Зачем вам что-то еще?
PDFTK на самом деле в основном Java (буквально сотни файлов Java).Вы можете подумать о том, чтобы обернуть вокруг него свой собственный проект.Функциональность, которую вы ищете, находится здесь (java / com / lowagie / text / pdf / AcroFields.java: 931):
/** Sets the fields by XFDF merging.
* @param xfdf the XFDF form
* @throws IOException on error
* @throws DocumentException on error
*/
public boolean setFields(XfdfReader xfdf) throws IOException, DocumentException {
boolean ret_val_b= false; // ssteward
xfdf.getFields();
for (Iterator i = fields.keySet().iterator(); i.hasNext();) {
String f = (String)i.next();
String v = xfdf.getFieldValue(f);
String rv = xfdf.getFieldRichValue(f); // ssteward
if (rv != null)
ret_val_b= true;
if (v != null)
setField(f, v, v, rv); // ssteward
}
return ret_val_b; // ssteward
}