David PHAM-VAN

Improve demo document

@@ -29,19 +29,29 @@ Future<Uint8List> generateDocument( @@ -29,19 +29,29 @@ Future<Uint8List> generateDocument(
29 final font1 = await rootBundle.load('assets/open-sans.ttf'); 29 final font1 = await rootBundle.load('assets/open-sans.ttf');
30 final font2 = await rootBundle.load('assets/open-sans-bold.ttf'); 30 final font2 = await rootBundle.load('assets/open-sans-bold.ttf');
31 final shape = await rootBundle.loadString('assets/document.svg'); 31 final shape = await rootBundle.loadString('assets/document.svg');
  32 + final swirls = await rootBundle.loadString('assets/swirls2.svg');
32 33
33 doc.addPage( 34 doc.addPage(
34 pw.Page( 35 pw.Page(
35 pageTheme: pw.PageTheme( 36 pageTheme: pw.PageTheme(
36 - pageFormat: format.copyWith(marginBottom: 1.5 * PdfPageFormat.cm),  
37 - orientation: pw.PageOrientation.portrait,  
38 - buildBackground: (context) => pw.FullPage(  
39 - ignoreMargins: true,  
40 - child: pw.SvgImage(svg: shape, fit: pw.BoxFit.fill), 37 + pageFormat: format.copyWith(
  38 + marginBottom: 0,
  39 + marginLeft: 0,
  40 + marginRight: 0,
  41 + marginTop: 0,
41 ), 42 ),
  43 + orientation: pw.PageOrientation.portrait,
  44 + buildBackground: (context) =>
  45 + pw.SvgImage(svg: shape, fit: pw.BoxFit.fill),
42 ), 46 ),
43 build: (context) { 47 build: (context) {
44 - return pw.Column( 48 + return pw.Padding(
  49 + padding: pw.EdgeInsets.only(
  50 + left: 60,
  51 + right: 60,
  52 + bottom: 30,
  53 + ),
  54 + child: pw.Column(
45 children: [ 55 children: [
46 pw.Spacer(), 56 pw.Spacer(),
47 pw.RichText( 57 pw.RichText(
@@ -69,7 +79,20 @@ Future<Uint8List> generateDocument( @@ -69,7 +79,20 @@ Future<Uint8List> generateDocument(
69 child: pw.PdfLogo(), 79 child: pw.PdfLogo(),
70 ), 80 ),
71 pw.Spacer(flex: 2), 81 pw.Spacer(flex: 2),
  82 + pw.Align(
  83 + alignment: pw.Alignment.topLeft,
  84 + child: pw.UrlLink(
  85 + destination: 'https://wikipedia.org/wiki/PDF',
  86 + child: pw.Text(
  87 + 'https://wikipedia.org/wiki/PDF',
  88 + style: pw.TextStyle(
  89 + color: PdfColors.pink100,
  90 + ),
  91 + ),
  92 + ),
  93 + ),
72 ], 94 ],
  95 + ),
73 ); 96 );
74 }, 97 },
75 ), 98 ),
@@ -81,7 +104,6 @@ Future<Uint8List> generateDocument( @@ -81,7 +104,6 @@ Future<Uint8List> generateDocument(
81 orientation: pw.PageOrientation.portrait, 104 orientation: pw.PageOrientation.portrait,
82 build: (context) { 105 build: (context) {
83 return pw.Column( 106 return pw.Column(
84 - crossAxisAlignment: pw.CrossAxisAlignment.start,  
85 children: [ 107 children: [
86 pw.Center( 108 pw.Center(
87 child: pw.Text('Table of content', 109 child: pw.Text('Table of content',
@@ -89,6 +111,11 @@ Future<Uint8List> generateDocument( @@ -89,6 +111,11 @@ Future<Uint8List> generateDocument(
89 ), 111 ),
90 pw.SizedBox(height: 20), 112 pw.SizedBox(height: 20),
91 pw.TableOfContent(), 113 pw.TableOfContent(),
  114 + pw.Spacer(),
  115 + pw.Center(
  116 + child: pw.SvgImage(
  117 + svg: swirls, width: 100, colorFilter: PdfColors.grey)),
  118 + pw.Spacer(),
92 ], 119 ],
93 ); 120 );
94 }, 121 },