resetForm method

Future<int> resetForm()

Implementation

Future<int> resetForm() async {
  final List<UPdfFormField> fields = await formFields();
  int reset = 0;
  for (final UPdfFormField field in fields) {
    if (field.objectNumber < 0) continue;
    final Object? widget = await current(UPdfRef(field.objectNumber, 0));
    if (widget is! UPdfDict) continue;
    final UPdfDict copy = widget.copy();
    final Object? fallback = copy["DV"];
    if (fallback == null) {
      copy.entries.remove("V");
      copy.entries.remove("AS");
    } else {
      copy["V"] = fallback;
      if (fallback is UPdfName) copy["AS"] = fallback;
    }
    copy.entries.remove("AP");
    this.put(field.objectNumber, copy);
    reset++;
  }
  return reset;
}