setPageOrder method
Implementation
Future<bool> setPageOrder(List<UPdfRef> order) async {
final Object? rootRef = document.catalog?["Pages"];
if (rootRef is! UPdfRef) return false;
final Object? root = await current(rootRef);
if (root is! UPdfDict) return false;
final UPdfDict mutable = _changed[rootRef.number] is UPdfDict ? _changed[rootRef.number]! as UPdfDict : root.copy();
mutable["Kids"] = List<Object?>.from(order);
mutable["Count"] = order.length;
mutable["Type"] = const UPdfName("Pages");
put(rootRef.number, mutable);
document.notePageCount(order.length);
for (final UPdfRef ref in order) {
final Object? page = await current(ref);
if (page is! UPdfDict) continue;
final UPdfDict pageCopy = _changed[ref.number] is UPdfDict ? _changed[ref.number]! as UPdfDict : page.copy();
pageCopy["Parent"] = rootRef;
put(ref.number, pageCopy);
}
return true;
}