preSign method

  1. @override
void preSign(
  1. PdfObject<PdfDataType> object,
  2. PdfDict<PdfDataType> params
)
override

Populates the signature dictionary before hashing.

Implementation

@override

/// Populates the signature dictionary before hashing.
void preSign(PdfObject object, PdfDict params) {
  params[PdfNameTokens.filter] = const PdfName(PdfNameTokens.adobePpkLite);
  params[PdfNameTokens.subFilter] =
      const PdfName(PdfNameTokens.adbePkcs7Detached);
  params[PdfNameTokens.byteRange] =
      PdfByteRangePlaceholder(digits: byteRangeDigits);
  params[PdfNameTokens.contents] = PdfString(
    Uint8List(contentsReserveSize),
    format: PdfStringFormat.binary,
    encrypted: false,
  );

  final when = (signingTime ?? DateTime.now()).toUtc();
  params[PdfNameTokens.m] = PdfString.fromDate(when, encrypted: false);
  if (reason != null) {
    params[PdfNameTokens.reason] = PdfString.fromString(reason!);
  }
  if (location != null) {
    params[PdfNameTokens.location] = PdfString.fromString(location!);
  }
  if (contactInfo != null) {
    params[PdfNameTokens.contactinfo] = PdfString.fromString(contactInfo!);
  }
  if (name != null) {
    params[PdfNameTokens.name] = PdfString.fromString(name!);
  }
}