exportXfdf method

Future<String> exportXfdf()

Implementation

Future<String> exportXfdf() async {
  final List<UPdfFormField> fields = await formFields();
  final StringBuffer buffer = StringBuffer('<?xml version="1.0" encoding="UTF-8"?>\n<xfdf xmlns="http://ns.adobe.com/xfdf/">\n  <fields>\n');
  for (final UPdfFormField field in fields) {
    if (field.name.isEmpty) continue;
    final String value = field.displayValue.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
    buffer.writeln('    <field name="${field.name.replaceAll('"', "")}">');
    buffer.writeln("      <value>$value</value>");
    buffer.writeln("    </field>");
  }
  buffer.writeln("  </fields>\n</xfdf>");
  return buffer.toString();
}