Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
dart_pdf
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
David PHAM-VAN
2021-04-03 13:00:23 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
77b8483197b3d74c5335ca95d866ad0611dbd023
77b84831
1 parent
9a7d3eba
Move files to example
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
58 additions
and
45 deletions
demo/lib/app.dart
demo/lib/examples.dart
demo/lib/calendar.dart → demo/lib/examples/calendar.dart
demo/lib/certificate.dart → demo/lib/examples/certificate.dart
demo/lib/document.dart → demo/lib/examples/document.dart
demo/lib/invoice.dart → demo/lib/examples/invoice.dart
demo/lib/report.dart → demo/lib/examples/report.dart
demo/lib/resume.dart → demo/lib/examples/resume.dart
demo/lib/main.dart
demo/test/printing_test.dart
demo/web/index.html
demo/lib/app.dart
View file @
77b8483
...
...
@@ -16,7 +16,6 @@
import
'dart:async'
;
import
'dart:io'
;
import
'dart:typed_data'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/material.dart'
;
...
...
@@ -25,26 +24,12 @@ import 'package:path_provider/path_provider.dart';
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
as
pw
;
import
'package:printing/printing.dart'
;
import
'package:printing_demo/certificate.dart'
;
import
'package:url_launcher/url_launcher.dart'
as
ul
;
import
'calendar.dart'
;
import
'data.dart'
;
import
'document.dart'
;
import
'invoice.dart'
;
import
'report.dart'
;
import
'resume.dart'
;
import
'examples.dart'
;
class
MyApp
extends
StatefulWidget
{
static
const
examples
=
<
Example
>[
Example
(
'RÉSUMÉ'
,
'resume.dart'
,
generateResume
),
Example
(
'DOCUMENT'
,
'document.dart'
,
generateDocument
),
Example
(
'INVOICE'
,
'invoice.dart'
,
generateInvoice
),
Example
(
'REPORT'
,
'report.dart'
,
generateReport
),
Example
(
'CALENDAR'
,
'calendar.dart'
,
generateCalendar
),
Example
(
'CERTIFICATE'
,
'certificate.dart'
,
generateCertificate
,
true
),
];
@override
MyAppState
createState
()
{
return
MyAppState
();
...
...
@@ -77,14 +62,15 @@ class MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
_tabController
=
TabController
(
vsync:
this
,
length:
MyApp
.
examples
.
length
,
length:
examples
.
length
,
initialIndex:
_tab
,
);
_tabController
!.
addListener
(()
{
setState
(()
{
_tab
=
_tabController
!.
index
;
print
(
'set state 1'
);
});
if
(
MyApp
.
examples
[
_tab
].
needsData
&&
!
_hasData
&&
!
_pending
)
{
if
(
examples
[
_tab
].
needsData
&&
!
_hasData
&&
!
_pending
)
{
_pending
=
true
;
askName
(
context
).
then
((
value
)
{
if
(
value
!=
null
)
{
...
...
@@ -100,6 +86,7 @@ class MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
setState
(()
{
printingInfo
=
info
;
print
(
'set state 2'
);
});
}
...
...
@@ -152,16 +139,16 @@ class MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
return
Scaffold
(
appBar:
AppBar
(
title:
const
Text
(
'
Pdf Printing Example
'
),
title:
const
Text
(
'
Flutter PDF Demo
'
),
bottom:
TabBar
(
controller:
_tabController
,
tabs:
MyApp
.
examples
.
map
<
Tab
>((
e
)
=>
Tab
(
text:
e
.
name
)).
toList
(),
tabs:
examples
.
map
<
Tab
>((
e
)
=>
Tab
(
text:
e
.
name
)).
toList
(),
isScrollable:
true
,
),
),
body:
PdfPreview
(
maxPageWidth:
700
,
build:
(
format
)
=>
MyApp
.
examples
[
_tab
].
builder
(
format
,
_data
),
build:
(
format
)
=>
examples
[
_tab
].
builder
(
format
,
_data
),
actions:
actions
,
onPrinted:
_showPrintedToast
,
onShared:
_showSharedToast
,
...
...
@@ -176,7 +163,7 @@ class MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
void
_showSources
()
{
ul
.
launch
(
'https://github.com/DavBfr/dart_pdf/blob/master/demo/lib/
${MyApp.
examples[_tab].file}
'
,
'https://github.com/DavBfr/dart_pdf/blob/master/demo/lib/
examples/
${
examples[_tab].file}
'
,
);
}
...
...
@@ -208,18 +195,3 @@ class MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
});
}
}
typedef
LayoutCallbackWithData
=
Future
<
Uint8List
>
Function
(
PdfPageFormat
pageFormat
,
CustomData
data
);
class
Example
{
const
Example
(
this
.
name
,
this
.
file
,
this
.
builder
,
[
this
.
needsData
=
false
]);
final
String
name
;
final
String
file
;
final
LayoutCallbackWithData
builder
;
final
bool
needsData
;
}
...
...
demo/lib/examples.dart
0 → 100644
View file @
77b8483
import
'dart:async'
;
import
'dart:typed_data'
;
import
'package:pdf/pdf.dart'
;
import
'data.dart'
;
import
'examples/calendar.dart'
;
import
'examples/certificate.dart'
;
import
'examples/document.dart'
;
import
'examples/invoice.dart'
;
import
'examples/report.dart'
;
import
'examples/resume.dart'
;
const
examples
=
<
Example
>[
Example
(
'RÉSUMÉ'
,
'resume.dart'
,
generateResume
),
Example
(
'DOCUMENT'
,
'document.dart'
,
generateDocument
),
Example
(
'INVOICE'
,
'invoice.dart'
,
generateInvoice
),
Example
(
'REPORT'
,
'report.dart'
,
generateReport
),
Example
(
'CALENDAR'
,
'calendar.dart'
,
generateCalendar
),
Example
(
'CERTIFICATE'
,
'certificate.dart'
,
generateCertificate
,
true
),
];
typedef
LayoutCallbackWithData
=
Future
<
Uint8List
>
Function
(
PdfPageFormat
pageFormat
,
CustomData
data
);
class
Example
{
const
Example
(
this
.
name
,
this
.
file
,
this
.
builder
,
[
this
.
needsData
=
false
]);
final
String
name
;
final
String
file
;
final
LayoutCallbackWithData
builder
;
final
bool
needsData
;
}
...
...
demo/lib/calendar.dart → demo/lib/
examples/
calendar.dart
View file @
77b8483
...
...
@@ -21,7 +21,7 @@ import 'package:intl/intl.dart';
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
;
import
'data.dart'
;
import
'
../
data.dart'
;
class
Calendar
extends
StatelessWidget
{
Calendar
({
...
...
demo/lib/certificate.dart → demo/lib/
examples/
certificate.dart
View file @
77b8483
...
...
@@ -23,7 +23,7 @@ import 'package:pdf/pdf.dart';
import
'package:pdf/widgets.dart'
as
pw
;
import
'package:vector_math/vector_math_64.dart'
;
import
'data.dart'
;
import
'
../
data.dart'
;
final
_cache
=
<
String
,
Uint8List
>{};
...
...
demo/lib/document.dart → demo/lib/
examples/
document.dart
View file @
77b8483
...
...
@@ -19,7 +19,7 @@ import 'dart:typed_data';
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
as
pw
;
import
'data.dart'
;
import
'
../
data.dart'
;
Future
<
Uint8List
>
generateDocument
(
PdfPageFormat
format
,
CustomData
data
)
async
{
...
...
demo/lib/invoice.dart → demo/lib/
examples/
invoice.dart
View file @
77b8483
...
...
@@ -21,7 +21,7 @@ import 'package:intl/intl.dart';
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
as
pw
;
import
'data.dart'
;
import
'
../
data.dart'
;
Future
<
Uint8List
>
generateInvoice
(
PdfPageFormat
pageFormat
,
CustomData
data
)
async
{
...
...
demo/lib/report.dart → demo/lib/
examples/
report.dart
View file @
77b8483
...
...
@@ -21,7 +21,7 @@ import 'package:flutter/services.dart';
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
as
pw
;
import
'data.dart'
;
import
'
../
data.dart'
;
Future
<
Uint8List
>
generateReport
(
PdfPageFormat
pageFormat
,
CustomData
data
)
async
{
...
...
demo/lib/resume.dart → demo/lib/
examples/
resume.dart
View file @
77b8483
demo/lib/main.dart
View file @
77b8483
...
...
@@ -21,5 +21,10 @@ import 'app.dart';
void
main
(
)
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
fuchsia
;
runApp
(
MaterialApp
(
home:
MyApp
()));
runApp
(
MaterialApp
(
title:
'Flutter PDF Demo'
,
home:
MyApp
(),
),
);
}
...
...
demo/test/printing_test.dart
View file @
77b8483
...
...
@@ -3,7 +3,7 @@ import 'dart:io';
import
'package:flutter_test/flutter_test.dart'
;
import
'package:pdf/pdf.dart'
;
import
'package:printing_demo/data.dart'
;
import
'package:printing_demo/document.dart'
;
import
'package:printing_demo/
examples/
document.dart'
;
void
main
(
)
{
testWidgets
(
'Pdf Generate the document'
,
(
WidgetTester
tester
)
async
{
...
...
demo/web/index.html
View file @
77b8483
...
...
@@ -26,7 +26,7 @@
<!-- Favicon -->
<link
rel=
"icon"
type=
"image/png"
href=
"favicon.png"
/>
<title>
printing_d
emo
</title>
<title>
Flutter PDF D
emo
</title>
<link
rel=
"manifest"
href=
"manifest.json"
>
</head>
<body>
...
...
Please
register
or
login
to post a comment