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
Deepak
2021-04-15 16:32:51 +0530
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
David PHAM-VAN
2021-04-17 08:42:01 -0300
Commit
fbcd62b90903ffc660df8c208c763e1bd414522c
fbcd62b9
1 parent
c9b23942
Improve Android page format detection
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
123 additions
and
3 deletions
printing/CHANGELOG.md
printing/android/src/main/java/net/nfet/flutter/printing/PrintingJob.java
printing/pubspec.yaml
printing/CHANGELOG.md
View file @
fbcd62b
# Changelog
## 5.2.0
-
Improve Android page format detection
[
Deepak
]
## 5.1.0
-
Fix PdfPreview timer dispose
[
wwl901215
]
...
...
printing/android/src/main/java/net/nfet/flutter/printing/PrintingJob.java
View file @
fbcd62b
...
...
@@ -194,13 +194,129 @@ public class PrintingJob extends PrintDocumentAdapter {
jobName
=
name
;
PrintAttributes
.
Builder
attrBuilder
=
new
PrintAttributes
.
Builder
();
if
(
width
>
height
)
{
attrBuilder
.
setMediaSize
(
PrintAttributes
.
MediaSize
.
UNKNOWN_LANDSCAPE
);
int
widthMils
=
Double
.
valueOf
(
width
*
1000.0
/
72.0
).
intValue
();
int
heightMils
=
Double
.
valueOf
(
height
*
1000.0
/
72.0
).
intValue
();
PrintAttributes
.
MediaSize
mediaSize
=
null
;
boolean
isPortrait
=
heightMils
>=
widthMils
;
// get the media size from predefined media sizes
for
(
PrintAttributes
.
MediaSize
size
:
getAllPredefinedSizes
())
{
// https://github.com/DavBfr/dart_pdf/issues/635
int
err
=
20
;
PrintAttributes
.
MediaSize
m
=
isPortrait
?
size
.
asPortrait
()
:
size
.
asLandscape
();
if
((
widthMils
+
err
)
>=
m
.
getWidthMils
()
&&
(
widthMils
-
err
)
<=
m
.
getWidthMils
()
&&
(
heightMils
+
err
)
>=
m
.
getHeightMils
()
&&
(
heightMils
-
err
)
<=
m
.
getHeightMils
())
{
mediaSize
=
m
;
break
;
}
}
if
(
mediaSize
==
null
)
{
mediaSize
=
isPortrait
?
PrintAttributes
.
MediaSize
.
UNKNOWN_PORTRAIT
:
PrintAttributes
.
MediaSize
.
UNKNOWN_LANDSCAPE
;
}
attrBuilder
.
setMediaSize
(
mediaSize
);
PrintAttributes
attrib
=
attrBuilder
.
build
();
printJob
=
printManager
.
print
(
name
,
this
,
attrib
);
}
List
<
PrintAttributes
.
MediaSize
>
getAllPredefinedSizes
()
{
List
<
PrintAttributes
.
MediaSize
>
sizes
=
new
ArrayList
<>();
// ISO sizes
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A0
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A1
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A7
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A9
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_A10
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B0
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B1
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B7
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B9
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_B10
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C0
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C1
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C7
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C9
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ISO_C10
);
// North America
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_LETTER
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_GOVT_LETTER
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_LEGAL
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_JUNIOR_LEGAL
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_LEDGER
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_TABLOID
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_INDEX_3X5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_INDEX_4X6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_INDEX_5X8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_MONARCH
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_QUARTO
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
NA_FOOLSCAP
);
// Chinese
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ROC_8K
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
ROC_16K
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_1
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_7
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_9
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_10
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
PRC_16K
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
OM_PA_KAI
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
OM_DAI_PA_KAI
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
OM_JUURO_KU_KAI
);
// Japanese
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B10
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B9
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B8
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B7
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B6
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B5
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B1
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_B0
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JIS_EXEC
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_CHOU4
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_CHOU3
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_CHOU2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_HAGAKI
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_OUFUKU
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_KAHU
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_KAKU2
);
sizes
.
add
(
PrintAttributes
.
MediaSize
.
JPN_YOU4
);
return
sizes
;
}
void
cancelJob
(
String
message
)
{
if
(
callback
!=
null
)
callback
.
onLayoutCancelled
();
if
(
printJob
!=
null
)
printJob
.
cancel
();
...
...
printing/pubspec.yaml
View file @
fbcd62b
...
...
@@ -7,7 +7,7 @@ description: >
homepage
:
https://github.com/DavBfr/dart_pdf/tree/master/printing
repository
:
https://github.com/DavBfr/dart_pdf
issue_tracker
:
https://github.com/DavBfr/dart_pdf/issues
version
:
5.
1
.0
version
:
5.
2
.0
environment
:
sdk
:
"
>=2.12.0-0
<3.0.0"
...
...
Please
register
or
login
to post a comment