Skip to content

Commit

Permalink
Update Demo project
Browse files Browse the repository at this point in the history
  • Loading branch information
DavBfr committed Jun 19, 2021
1 parent 191b7ee commit dc2a0bc
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 74 deletions.
24 changes: 1 addition & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ DART_BIN=$(FLUTTER)/bin/dart
DART_SRC=$(shell find . -name '*.dart')
CLNG_SRC=$(shell find printing/ios printing/macos printing/windows printing/linux printing/android -name '*.cpp' -o -name '*.cc' -o -name '*.m' -o -name '*.h' -o -name '*.java')
SWFT_SRC=$(shell find printing/ios printing/macos -name '*.swift')
FONTS=pdf/open-sans.ttf pdf/open-sans-bold.ttf pdf/roboto.ttf pdf/noto-sans.ttf pdf/genyomintw.ttf demo/assets/roboto1.ttf demo/assets/roboto2.ttf demo/assets/roboto3.ttf demo/assets/open-sans.ttf demo/assets/open-sans-bold.ttf pdf/hacen-tunisia.ttf pdf/material.ttf demo/assets/material.ttf
FONTS=pdf/open-sans.ttf pdf/open-sans-bold.ttf pdf/roboto.ttf pdf/noto-sans.ttf pdf/genyomintw.ttf pdf/hacen-tunisia.ttf pdf/material.ttf
COV_PORT=9292
SVG=blend_and_mask blend_mode_devil clip_path clip_path_2 clip_path_2 clip_path_3 clip_path_3 dash_path ellipse empty_defs equation fill-rule-inherit group_composite_opacity group_fill_opacity group_mask group_opacity group_opacity_transform hidden href-fill image image_def implicit_fill_with_opacity linear_gradient linear_gradient_2 linear_gradient_absolute_user_space_translate linear_gradient_percentage_bounding_translate linear_gradient_percentage_user_space_translate linear_gradient_xlink male mask mask_with_gradient mask_with_use mask_with_use2 nested_group opacity_on_path radial_gradient radial_gradient_absolute_user_space_translate radial_gradient_focal radial_gradient_percentage_bounding_translate radial_gradient_percentage_user_space_translate radial_gradient_xlink radial_ref_linear_gradient rect_rrect rect_rrect_no_ry stroke_inherit_circles style_attr text text_2 text_3 use_circles use_circles_def use_emc2 use_fill use_opacity_grid width_height_viewbox flutter_logo emoji_u1f600 text_transform dart new-pause-button new-send-circle new-gif new-camera new-image numeric_25 new-mention new-gif-button new-action-expander new-play-button aa alphachannel Ghostscript_Tiger Firefox_Logo_2017 chess_knight Flag_of_the_United_States

Expand All @@ -27,16 +27,6 @@ all: $(FONTS) demo/assets/logo.svg demo/assets/profile.jpg format printing/examp
pdf/open-sans.ttf:
curl -L "https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-U1Ug.ttf" > $@

demo/assets/open-sans.ttf: pdf/open-sans.ttf
cp $^ $@

pdf/open-sans-bold.ttf:
curl -L "https://fonts.gstatic.com/s/opensans/v17/mem5YaGs126MiZpBA-UN7rg-VQ.ttf" > $@
cp $@ demo/assets/

demo/assets/open-sans-bold.ttf: pdf/open-sans-bold.ttf
cp $^ $@

pdf/roboto.ttf:
curl -L "https://fonts.gstatic.com/s/robotomono/v7/L0x5DF4xlVMF-BfR8bXMIghM.ttf" > $@

Expand All @@ -49,21 +39,9 @@ pdf/genyomintw.ttf:
pdf/material.ttf:
curl -L "https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.ttf" > $@

demo/assets/roboto1.ttf:
curl -L "https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5vAw.ttf" > $@

demo/assets/roboto2.ttf:
curl -L "https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlvAw.ttf" > $@

demo/assets/roboto3.ttf:
curl -L "https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgWxP.ttf" > $@

demo/assets/logo.svg:
curl -L "http://pigment.github.io/fake-logos/logos/vector/color/auto-speed.svg" > $@

demo/assets/material.ttf: pdf/material.ttf
cp $< $@

demo/assets/profile.jpg:
curl -L "https://www.fakepersongenerator.com/Face/female/female20151024334209870.jpg" > $@

Expand Down
5 changes: 3 additions & 2 deletions demo/lib/examples/calendar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';
import 'package:printing/printing.dart';

import '../data.dart';

Expand Down Expand Up @@ -197,8 +198,8 @@ Future<Uint8List> generateCalendar(
pageFormat: pageFormat,
orientation: PageOrientation.landscape,
theme: ThemeData.withFont(
base: Font.ttf(await rootBundle.load('assets/open-sans.ttf')),
bold: Font.ttf(await rootBundle.load('assets/open-sans-bold.ttf')),
base: await PdfGoogleFonts.openSansRegular(),
bold: await PdfGoogleFonts.openSansBold(),
),
buildForeground: bg == null
? null
Expand Down
31 changes: 5 additions & 26 deletions demo/lib/examples/certificate.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,43 +18,22 @@ import 'dart:typed_data';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:http/http.dart' as http;
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
import 'package:vector_math/vector_math_64.dart';

import '../data.dart';

final _cache = <String, Uint8List>{};

Future<Uint8List> _download(String url) async {
if (!_cache.containsKey(url)) {
print('Downloading $url');
final response = await http.get(Uri.parse(url));
final data = response.bodyBytes;
_cache[url] = Uint8List.fromList(data);
}

return _cache[url]!;
}

Future<pw.Font> _downloadFont(String url) async {
final data = await _download(url);
return pw.Font.ttf(data.buffer.asByteData());
}

Future<Uint8List> generateCertificate(
PdfPageFormat pageFormat, CustomData data) async {
final lorem = pw.LoremText();
final pdf = pw.Document();

final libreBaskerville = await _downloadFont(
'https://fonts.gstatic.com/s/librebaskerville/v9/kmKnZrc3Hgbbcjq75U4uslyuy4kn0pNe.ttf');
final libreBaskervilleItalic = await _downloadFont(
'https://fonts.gstatic.com/s/librebaskerville/v9/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcaxY.ttf');
final libreBaskervilleBold = await _downloadFont(
'https://fonts.gstatic.com/s/librebaskerville/v9/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTjYw.ttf');
final robotoLight = pw.Font.ttf(await rootBundle.load('assets/roboto3.ttf'));
final libreBaskerville = await PdfGoogleFonts.libreBaskervilleRegular();
final libreBaskervilleItalic = await PdfGoogleFonts.libreBaskervilleItalic();
final libreBaskervilleBold = await PdfGoogleFonts.libreBaskervilleBold();
final robotoLight = await PdfGoogleFonts.robotoLight();
final medail = await rootBundle.loadString('assets/medail.svg');
final swirls = await rootBundle.loadString('assets/swirls.svg');
final swirls1 = await rootBundle.loadString('assets/swirls1.svg');
Expand Down
17 changes: 13 additions & 4 deletions demo/lib/examples/document.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ import 'dart:typed_data';
import 'package:flutter/services.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';

import '../data.dart';

Future<Uint8List> generateDocument(
PdfPageFormat format, CustomData data) async {
final doc = pw.Document(pageMode: PdfPageMode.outlines);

final font1 = await rootBundle.load('assets/open-sans.ttf');
final font2 = await rootBundle.load('assets/open-sans-bold.ttf');
final font1 = await PdfGoogleFonts.openSansRegular();
final font2 = await PdfGoogleFonts.openSansBold();
final shape = await rootBundle.loadString('assets/document.svg');
final swirls = await rootBundle.loadString('assets/swirls2.svg');

Expand All @@ -43,6 +44,10 @@ Future<Uint8List> generateDocument(
orientation: pw.PageOrientation.portrait,
buildBackground: (context) =>
pw.SvgImage(svg: shape, fit: pw.BoxFit.fill),
theme: pw.ThemeData.withFont(
base: font1,
bold: font2,
),
),
build: (context) {
return pw.Padding(
Expand Down Expand Up @@ -100,6 +105,10 @@ Future<Uint8List> generateDocument(

doc.addPage(
pw.Page(
theme: pw.ThemeData.withFont(
base: font1,
bold: font2,
),
pageFormat: format.copyWith(marginBottom: 1.5 * PdfPageFormat.cm),
orientation: pw.PageOrientation.portrait,
build: (context) {
Expand All @@ -124,8 +133,8 @@ Future<Uint8List> generateDocument(

doc.addPage(pw.MultiPage(
theme: pw.ThemeData.withFont(
base: pw.Font.ttf(font1),
bold: pw.Font.ttf(font2),
base: font1,
bold: font2,
),
pageFormat: format.copyWith(marginBottom: 1.5 * PdfPageFormat.cm),
orientation: pw.PageOrientation.portrait,
Expand Down
11 changes: 4 additions & 7 deletions demo/lib/examples/invoice.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';

import '../data.dart';

Expand Down Expand Up @@ -100,10 +101,6 @@ class Invoice {
// Create a PDF document.
final doc = pw.Document();

final font1 = await rootBundle.load('assets/roboto1.ttf');
final font2 = await rootBundle.load('assets/roboto2.ttf');
final font3 = await rootBundle.load('assets/roboto3.ttf');

_logo = await rootBundle.loadString('assets/logo.svg');
_bgShape = await rootBundle.loadString('assets/invoice.svg');

Expand All @@ -112,9 +109,9 @@ class Invoice {
pw.MultiPage(
pageTheme: _buildTheme(
pageFormat,
pw.Font.ttf(font1),
pw.Font.ttf(font2),
pw.Font.ttf(font3),
await PdfGoogleFonts.robotoRegular(),
await PdfGoogleFonts.robotoBold(),
await PdfGoogleFonts.robotoItalic(),
),
header: _buildHeader,
footer: _buildFooter,
Expand Down
6 changes: 3 additions & 3 deletions demo/lib/examples/report.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
import 'dart:math';
import 'dart:typed_data';

import 'package:flutter/services.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';

import '../data.dart';

Expand Down Expand Up @@ -51,8 +51,8 @@ Future<Uint8List> generateReport(
final document = pw.Document();

final theme = pw.ThemeData.withFont(
base: pw.Font.ttf(await rootBundle.load('assets/open-sans.ttf')),
bold: pw.Font.ttf(await rootBundle.load('assets/open-sans-bold.ttf')),
base: await PdfGoogleFonts.openSansRegular(),
bold: await PdfGoogleFonts.openSansBold(),
);

// Top bar chart
Expand Down
7 changes: 4 additions & 3 deletions demo/lib/examples/resume.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import 'dart:typed_data';
import 'package:flutter/services.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
import 'package:printing_demo/data.dart';

const PdfColor green = PdfColor.fromInt(0xff9ce5d0);
Expand Down Expand Up @@ -168,9 +169,9 @@ Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
return pw.PageTheme(
pageFormat: format,
theme: pw.ThemeData.withFont(
base: pw.Font.ttf(await rootBundle.load('assets/open-sans.ttf')),
bold: pw.Font.ttf(await rootBundle.load('assets/open-sans-bold.ttf')),
icons: pw.Font.ttf(await rootBundle.load('assets/material.ttf')),
base: await PdfGoogleFonts.openSansRegular(),
bold: await PdfGoogleFonts.openSansBold(),
icons: await PdfGoogleFonts.materialIcons(),
),
buildBackground: (pw.Context context) {
return pw.FullPage(
Expand Down
11 changes: 5 additions & 6 deletions demo/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ publish_to: "none"
version: 1.0.0+1

environment:
sdk: ">=2.12.0-0 <3.0.0"
sdk: ">=2.12.0 <3.0.0"
flutter: ">=1.16.0"

dependencies:
flutter:
sdk: flutter
http: ^0.13.1
intl: ^0.17.0
open_file: ^3.1.0
path_provider: ^2.0.1
printing: ^5.0.4
url_launcher: ^6.0.3
open_file: ^3.2.1
path_provider: ^2.0.2
printing: ^5.3.0
url_launcher: ^6.0.6

dev_dependencies:
flutter_test:
Expand Down

0 comments on commit dc2a0bc

Please sign in to comment.