pages static method
Implementation
static Future<List<PdfRaster>> pages(
PrintRequest request, {
required double widthPx,
}) {
final key = jsonEncode({
'template': request.template.toItem().data,
'template_name': request.template.name,
'paper': request.paper.toItem().data,
'sample': request.sampleData,
'notice': request.pageNotice,
'cells': request.cellData,
'locale': request.localeName,
'copies': request.copies,
'skipped': request.skippedPerSheet,
'guides': request.showCutGuides,
'single': request.singleCellPage,
'width': widthPx.round(),
});
final cached = _entries.remove(key);
if (cached != null) {
_entries[key] = cached;
return cached;
}
final future = _render(request, widthPx);
_entries[key] = future;
if (_entries.length > _maxEntries) _entries.remove(_entries.keys.first);
future.catchError((_) {
_entries.remove(key);
return <PdfRaster>[];
});
return future;
}