Skip to content

Instantly share code, notes, and snippets.

@DavBfr
Last active March 25, 2022 12:59
Show Gist options
  • Save DavBfr/c088f7c179041824803df0a2614120bb to your computer and use it in GitHub Desktop.
Save DavBfr/c088f7c179041824803df0a2614120bb to your computer and use it in GitHub Desktop.
French seyes page example
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
Future<void> main() async {
runApp(const MyApp('Printing Demo'));
}
class MyApp extends StatelessWidget {
const MyApp(this.title, {Key? key}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text(title)),
body: PdfPreview(
build: (format) => _generatePdf(format, title),
),
),
);
}
Future<Uint8List> _generatePdf(PdfPageFormat format, String title) async {
final pdf = pw.Document(version: PdfVersion.pdf_1_5, compress: true);
final font = await PdfGoogleFonts.greatVibesRegular();
pdf.addPage(
pw.MultiPage(
pageTheme: pw.PageTheme(
buildBackground: (context) => pw.FullPage(
ignoreMargins: true,
child: pw.GridPaper.seyes(),
),
pageFormat: format,
theme: pw.ThemeData.withFont(base: font).copyWith(
defaultTextStyle: const pw.TextStyle(
fontSize: 22,
lineSpacing: -4.9,
color: PdfColors.blue900,
),
),
margin: const pw.EdgeInsets.only(
top: 19.5 * PdfPageFormat.mm,
bottom: 10 * PdfPageFormat.mm,
left: 36 * PdfPageFormat.mm,
right: 5 * PdfPageFormat.mm,
),
),
build: (context) {
return [
pw.Center(
child: pw.Text(
"Wikipédia",
style: const pw.TextStyle(decoration: pw.TextDecoration.underline),
),
),
pw.SizedBox(height: 17),
pw.Text(
"Wikipédia est une encyclopédie universelle et multilingue créée par Jimmy Wales et Larry Sanger le 15 janvier 2001. Il s'agit d'une œuvre libre, c'est-à-dire que chacun est libre de la rediffuser. Gérée en wiki dans le site web wikipedia.org grâce au logiciel MediaWiki, elle permet à tous les internautes d'écrire et de modifier des articles, ce qui lui vaut d'être qualifiée d'encyclopédie participative."),
pw.SizedBox(height: 18),
pw.Text(
"Elle est devenue en quelques années l'encyclopédie la plus fournie et la plus consultée au monde. L'organisation à but non lucratif américaine Wikimedia Foundation est dépositaire de la marque Wikipedia. Elle finance l'hébergement web de l'encyclopédie."),
pw.SizedBox(height: 18),
pw.Text(
"L'anglais a été la première langue utilisée, et Wikipédia en anglais compte plus de six millions d'articles début 2020. Wikipédia en français, créée officiellement le 23 mars 2001 compte un peu plus de deux millions d'articles la même année. Wikipédia existe en plus de 300 langues, dans une apparence unie, mais avec de grandes variations de contenus."),
];
},
),
);
return pdf.save();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment