updateFieldMetadata method

bool updateFieldMetadata(
  1. PdfSignatureFieldObjectInfo field, {
  2. String? reason,
  3. String? location,
  4. String? name,
  5. String? signingTimeRaw,
})

Updates metadata stored in the field dictionary.

Implementation

bool updateFieldMetadata(
  PdfSignatureFieldObjectInfo field, {
  String? reason,
  String? location,
  String? name,
  String? signingTimeRaw,
}) {
  final updated = PdfDict<PdfDataType>.values(
    Map<String, PdfDataType>.from(field.fieldDict.values),
  );
  if (reason != null) {
    updated[PdfNameTokens.reason] = PdfString.fromString(reason);
  }
  if (location != null) {
    updated[PdfNameTokens.location] = PdfString.fromString(location);
  }
  if (name != null) {
    updated[PdfNameTokens.name] = PdfString.fromString(name);
  }
  if (signingTimeRaw != null) {
    updated[PdfNameTokens.m] = PdfString.fromString(signingTimeRaw);
  }

  if (field.fieldRef != null) {
    PdfObject<PdfDict<PdfDataType>>(
      document,
      objser: field.fieldRef!.obj,
      objgen: field.fieldRef!.gen,
      params: updated,
    );
    return true;
  }
  return _replaceDirectField(field, updated);
}