prepare method

  1. @override
void prepare()
override

Prepare the object to be written to the stream

Implementation

@override
void prepare() {
  super.prepare();

  final dests = PdfArray();

  final keys = _dests.keys.toList()..sort();

  for (final name in keys) {
    dests.add(PdfString.fromString(name));
    dests.add(_dests[name]!);
  }

  final dict = PdfDict();
  if (dests.values.isNotEmpty) {
    dict['/Names'] = dests;
    dict['/Limits'] = PdfArray([
      PdfString.fromString(keys.first),
      PdfString.fromString(keys.last),
    ]);
  }
  params['/Dests'] = dict;
}