buildWidgetsCatalog function
Full bilingual catalog of every public pdf_widgets surface.
Implementation
Uint8List buildWidgetsCatalog({SfntFont? font, SfntFont? fontBold}) {
final Document doc = Document(
title: 'Quds pdf_widgets — Full Catalog',
author: 'Quds Office',
font: font,
fontBold: fontBold,
theme: const ThemeData(
defaultTextStyle: TextStyle(fontSize: 9.5, color: '37474F'),
),
);
doc.addPage(
MultiPage(
pageFormat: PdfPageFormat.a4,
margin: const EdgeInsets.fromLTRB(40, 36, 40, 40),
header: (Context context) => const Padding(
padding: EdgeInsets.only(bottom: 6),
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Text(
'QUDS OFFICE · pdf_widgets',
style: TextStyle(fontSize: 8, color: '5C6BC0'),
),
Spacer(),
Text(
'FULL WIDGET CATALOG',
style: TextStyle(
fontSize: 8,
fontWeight: FontWeight.bold,
color: '1A237E',
letterSpacing: 0.6,
),
),
],
),
Divider(height: 8, thickness: 0.6, color: 'C5CAE9'),
],
),
),
footer: (Context context) => Padding(
padding: const EdgeInsets.only(top: 6),
child: Row(
children: <Widget>[
const Expanded(
child: Text(
'pdf_widgets catalog · كتالوج الودجات',
style: TextStyle(fontSize: 7.5, color: '90A4AE'),
),
),
PageNumber(
builder: (int page, int count) => Text(
// LTR override: bare "2 / 20" BiDi-flips beside Arabic leading.
'\u202D$page / $count\u202C',
softWrap: false,
style: const TextStyle(fontSize: 8, color: '546E7A'),
),
),
],
),
),
build: (Context context) => <Widget>[
..._coverAndToc(),
..._chDocument(),
..._chTypography(),
..._chLayout(),
..._chBox(),
..._chTable(),
..._chMedia(),
..._chChromeContent(),
..._chFormsAdvanced(),
..._chCompose(),
],
),
);
return doc.save();
}