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
2020-12-11 17:59:39 -0400
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
729646345fb257c3bec052c66b0d10e88c63d9fb
72964634
1 parent
e5ac8aaa
Improve the Demo project with some SVG images
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
172 additions
and
100 deletions
Makefile
demo/.gitignore
demo/assets/calendar.svg
demo/assets/invoice.svg
demo/assets/resume.svg
demo/lib/calendar.dart
demo/lib/invoice.dart
demo/lib/resume.dart
Makefile
View file @
7296463
...
...
@@ -15,11 +15,11 @@
DART_SRC
=
$(
shell
find . -name
'*.dart'
)
CLNG_SRC
=
$(
shell
find printing/ios printing/macos printing/windows printing/android -name
'*.cpp'
-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
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
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
all
:
$(FONTS) demo/assets/logo.
pn
g demo/assets/profile.jpg format printing/example/.metadata get
all
:
$(FONTS) demo/assets/logo.
sv
g demo/assets/profile.jpg format printing/example/.metadata get
pdf/open-sans.ttf
:
curl -L
"https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-U1Ug.ttf"
>
$@
...
...
@@ -55,8 +55,11 @@ demo/assets/roboto2.ttf:
demo/assets/roboto3.ttf
:
curl -L
"https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgWxP.ttf"
>
$@
demo/assets/logo.png
:
curl -L
"https://pigment.github.io/fake-logos/logos/medium/color/auto-speed.png"
>
$@
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"
>
$@
...
...
demo/.gitignore
View file @
7296463
...
...
@@ -38,3 +38,4 @@ lib/generated_plugin_registrant.dart
macos/Podfile.lock
assets/*.png
assets/*.jpg
assets/logo.svg
...
...
demo/assets/calendar.svg
0 → 100644
View file @
7296463
<?xml version="1.0" encoding="utf-8"?>
<svg
version=
"1.1"
viewBox=
"0 0 2100 2970"
id=
"svg158"
xmlns=
"http://www.w3.org/2000/svg"
>
<g
transform=
"matrix(0.938095, 0, 0, 0.938095, -69.17218, -301.570496)"
style=
""
id=
"g156"
>
<path
d=
"M 1303.526 3258.383 C 1291.194 3242.634 1280.912 3225.187 1273.232 3207.434 C 1260.22 3177.363 1253.539 3138.702 1280.434 3114.166 C 1296.114 3099.859 1323.216 3091.438 1343.815 3096.048 C 1370.046 3101.919 1387.814 3127.562 1393.966 3152.21 C 1406.759 3203.664 1351.13 3236.93 1311.838 3254.782 C 1309.099 3256.03 1306.326 3257.22 1303.526 3258.383 Z M 671.724 3184.454 C 685.379 3222.063 678.274 3281.56 642.951 3305.578 C 624.394 3318.188 599.292 3315.288 585.459 3297.506 C 572.927 3281.392 569.483 3259.014 569.711 3239.172 C 570.151 3200.539 597.964 3164.906 631.204 3141.07 C 649.131 3149.043 663.835 3162.719 671.724 3184.454 Z M 2184.847 3203.342 C 2180.363 3202.711 2175.851 3202.207 2171.367 3201.815 C 2141.044 3199.166 2109.978 3200.274 2079.64 3201.772 C 2013.992 3205.023 1948.974 3216.346 1885.246 3232.123 C 1852.456 3240.236 1818.966 3248.575 1787.186 3260.064 C 1757.703 3270.742 1728.291 3281.658 1698.598 3291.803 C 1638.008 3312.527 1575.582 3330.002 1511.307 3333.406 C 1479.274 3335.102 1447.186 3332.51 1415.938 3325.307 C 1389.93 3319.31 1361.316 3310.51 1339.71 3294.298 C 1329.746 3286.828 1320.498 3278.099 1312.02 3268.556 C 1321.072 3264.744 1329.914 3260.527 1338.49 3255.903 C 1375.903 3235.739 1415.628 3201.619 1407.474 3154.55 C 1403.452 3131.415 1390.924 3109.135 1371.63 3095.347 C 1351.214 3080.76 1329.76 3079.583 1306.287 3086.435 C 1272.139 3096.398 1249.206 3122.419 1248.819 3158.474 C 1248.42 3194.332 1267.326 3229.867 1287.739 3258.144 C 1288.952 3259.812 1290.179 3261.466 1291.419 3263.106 C 1241.078 3281.42 1183.195 3286.871 1131.523 3276.166 C 1070.091 3263.442 1018.886 3223.099 966.592 3190.94 C 941.162 3175.303 914.247 3162.146 887.866 3148.203 C 861.92 3134.484 835.631 3121.439 808.058 3111.307 C 754.066 3091.466 692.828 3088.495 642.138 3119.071 C 638.512 3121.256 634.896 3123.583 631.308 3126.02 C 592.966 3111.055 544.618 3120.038 507.322 3130.687 C 453.858 3145.932 402.979 3173.103 358.852 3206.691 C 313.518 3241.204 279.408 3286.282 250.662 3335.06 C 238.947 3354.93 205.148 3420.536 194.164 3440.798 C 191.348 3448.112 199.932 3452.415 206.726 3444.162 C 219.944 3419.303 256.66 3349.492 271.45 3325.503 C 302.887 3274.526 342.159 3231.886 392.158 3198.83 C 439.323 3167.638 493.09 3143.592 549.107 3134.4 C 571.516 3130.715 595.952 3130.252 617.464 3136.166 C 585.06 3161.823 558.11 3197.568 556.836 3239.368 C 555.72 3275.927 571.052 3321.258 612.431 3326.035 C 657.756 3331.276 682.666 3283.451 688.727 3245.898 C 695.375 3204.715 685.08 3159.412 648.894 3135.128 C 647.438 3134.148 645.95 3133.238 644.448 3132.355 C 655.078 3125.964 665.951 3120.808 676.42 3117.179 C 736.468 3096.314 798.348 3117.991 852.648 3144.602 C 907.314 3171.379 959.416 3201.604 1010.719 3234.267 C 1062.666 3267.338 1115.868 3292.784 1178.506 3294.186 C 1219.294 3295.096 1261.099 3287.894 1299.714 3273.447 C 1307.006 3282.064 1314.892 3290.163 1323.399 3297.576 C 1339.85 3311.911 1359.088 3320.36 1379.463 3327.871 C 1500.111 3372.319 1630.231 3330.506 1745.26 3289 C 1871.092 3243.586 2000.835 3213.179 2135.228 3213.5 C 2148.527 3213.53 2167.542 3215.476 2180.714 3216.808 C 2190.144 3216.808 2192.722 3206.508 2184.847 3203.342"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2383.125031, 6531.052979)"
id=
"path10"
/>
<path
d=
"M 1499.692 3376.986 C 1493.281 3387.746 1479.376 3391.266 1468.628 3384.866 L 1465.708 3383.119 C 1454.959 3376.719 1451.437 3362.813 1457.845 3352.053 L 1503.661 3275.173 C 1510.068 3264.426 1523.971 3260.906 1534.721 3267.306 L 1537.64 3269.053 C 1548.391 3275.466 1551.912 3289.359 1545.507 3300.119 L 1499.692 3376.986"
style=
"fill: rgb(229, 175, 66); fill-opacity: 1; fill-rule: nonzero; stroke: none;"
transform=
"matrix(-1, 0, 0, -1, 3003.350098, 6652.171631)"
id=
"path12"
/>
<path
d=
"M 1603.667 3317.612 C 1579.757 3357.732 1527.853 3370.878 1487.737 3346.972 C 1447.617 3323.052 1434.478 3271.158 1458.387 3231.038 C 1482.293 3190.918 1534.197 3177.772 1574.314 3201.678 C 1614.431 3225.598 1627.574 3277.492 1603.667 3317.612"
style=
"fill: rgb(91, 54, 86); fill-opacity: 1; fill-rule: nonzero; stroke: none;"
transform=
"matrix(-1, 0, 0, -1, 3062.051636, 6548.649902)"
id=
"path14"
/>
<path
d=
"M 1494.962 3376.825 C 1492.828 3380.398 1488.192 3381.572 1484.608 3379.438 C 1481.024 3377.305 1479.849 3372.665 1481.985 3369.092 L 1487.784 3359.358 C 1489.917 3355.772 1494.557 3354.598 1498.141 3356.732 C 1501.725 3358.878 1502.897 3363.505 1500.762 3367.092 L 1494.962 3376.825"
style=
"fill: rgb(197, 22, 57); fill-opacity: 1; fill-rule: nonzero; stroke: none;"
transform=
"matrix(-1, 0, 0, -1, 2982.74707, 6736.17041)"
id=
"path16"
/>
<path
d=
"M 1447.959 3290.758 C 1475.159 3301.611 1505.137 3284.318 1521.817 3294.264 C 1536.871 3303.238 1535.693 3339.078 1553.811 3356.438 C 1573.976 3350.798 1592.101 3337.731 1603.669 3318.318 C 1616.068 3297.504 1618.479 3273.544 1612.351 3251.944 C 1584.493 3246.771 1553.527 3269.891 1539.197 3258.464 C 1519.527 3242.784 1527.475 3201.251 1511.993 3193.451 C 1511.62 3193.278 1511.24 3193.104 1510.863 3192.918 C 1489.651 3198.131 1470.452 3211.504 1458.389 3231.744 C 1447.383 3250.211 1444.244 3271.171 1447.959 3290.758"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3062.053589, 6549.355957)"
id=
"path18"
/>
<path
d=
"M 1610.142 3285.029 C 1597.357 3292.042 1586.214 3302.429 1578.215 3315.855 C 1572.242 3325.869 1568.586 3336.615 1567.079 3347.482 C 1580.935 3351.402 1598.083 3343.042 1607.875 3326.602 C 1616.45 3312.215 1616.891 3295.829 1610.142 3285.029"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3181.878906, 6633.467285)"
id=
"path20"
/>
<path
d=
"M 1453.422 3227.848 C 1444.057 3243.568 1444.389 3261.675 1453.209 3272.261 C 1462.153 3265.741 1469.961 3257.355 1475.987 3247.235 C 1483.707 3234.275 1487.542 3220.101 1487.875 3206.021 C 1475.441 3205.715 1461.763 3213.848 1453.422 3227.848"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2934.371094, 6478.273682)"
id=
"path22"
/>
<path
d=
"M 1552.867 3292.947 C 1542.619 3310.147 1523.555 3317.68 1510.285 3309.773 C 1497.02 3301.867 1494.575 3281.52 1504.82 3264.307 C 1515.069 3247.12 1534.136 3239.587 1547.404 3247.493 C 1560.668 3255.4 1563.117 3275.747 1552.867 3292.947"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3057.689453, 6557.266357)"
id=
"path24"
/>
<path
d=
"M 1539.357 3284.913 C 1534.872 3292.419 1526.531 3295.726 1520.727 3292.259 C 1514.923 3288.806 1513.849 3279.899 1518.332 3272.379 C 1522.817 3264.846 1531.16 3261.553 1536.961 3265.006 C 1542.767 3268.473 1543.839 3277.379 1539.357 3284.913"
style=
"fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3057.688843, 6557.271484)"
id=
"path26"
/>
<path
d=
"M 1587.583 3332.673 C 1593.372 3335.847 1601.501 3332.553 1605.909 3325.153 C 1609.915 3318.433 1609.475 3310.62 1605.195 3306.567 C 1600.451 3311.353 1596.196 3316.78 1592.593 3322.833 C 1590.675 3326.047 1589.028 3329.34 1587.583 3332.673"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3196.257324, 6640.445557)"
id=
"path28"
/>
<path
d=
"M 1469.196 3222.358 C 1463.652 3220.785 1456.787 3224.131 1452.865 3230.705 C 1448.544 3237.958 1449.392 3246.465 1454.645 3250.171 C 1456.895 3247.318 1459.003 3244.305 1460.909 3241.105 C 1464.499 3235.078 1467.241 3228.785 1469.196 3222.358"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2919.293335, 6472.144287)"
id=
"path30"
/>
<path
d=
"M 1490.688 3375.82 C 1490.688 3375.82 1499.008 3386.887 1503.953 3383.78 C 1510.268 3379.82 1505.905 3372.794 1501.842 3368.247 C 1501.842 3368.247 1491.426 3363.994 1490.688 3375.82"
style=
"fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2997.822021, 6751.832764)"
id=
"path32"
/>
<path
d=
"M 538.966 3279.653 C 543.766 3291.226 538.286 3304.479 526.726 3309.279 L 523.58 3310.573 C 512.033 3315.373 498.766 3309.893 493.966 3298.333 L 459.673 3215.666 C 454.873 3204.106 460.353 3190.853 471.913 3186.053 L 475.046 3184.759 C 486.62 3179.959 499.873 3185.439 504.673 3196.999 L 538.966 3279.653"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 998.638977, 6495.332031)"
id=
"path34"
/>
<path
d=
"M 553.438 3160.798 C 571.345 3203.945 550.878 3253.425 507.745 3271.318 C 464.612 3289.211 415.132 3268.758 397.225 3225.625 C 379.332 3182.491 399.798 3133.011 442.932 3115.105 C 486.065 3097.211 535.545 3117.665 553.438 3160.798"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 950.670837, 6386.422607)"
id=
"path36"
/>
<path
d=
"M 536.004 3283.332 C 537.59 3287.185 535.777 3291.612 531.91 3293.212 C 528.057 3294.812 523.644 3292.985 522.044 3289.132 L 517.697 3278.665 C 516.11 3274.812 517.937 3270.398 521.79 3268.798 C 525.644 3267.198 530.057 3269.025 531.657 3272.878 L 536.004 3283.332"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1053.702393, 6562.01001)"
id=
"path38"
/>
<path
d=
"M 438.355 3272.226 C 463.302 3256.893 467.342 3222.519 485.275 3215.079 C 501.462 3208.359 529.502 3230.706 554.248 3226.546 C 561.768 3207.013 562.102 3184.666 553.448 3163.786 C 544.168 3141.426 526.382 3125.173 505.395 3117.186 C 484.608 3136.439 484.662 3175.079 466.942 3179.759 C 442.622 3186.173 414.048 3154.986 398.555 3162.746 C 398.182 3162.933 397.808 3163.146 397.448 3163.333 C 388.955 3183.466 388.208 3206.839 397.235 3228.613 C 405.488 3248.466 420.422 3263.506 438.355 3272.226"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 950.681061, 6389.412109)"
id=
"path40"
/>
<path
d=
"M 524.075 3132.973 C 522.062 3147.413 523.742 3162.547 529.715 3176.987 C 534.195 3187.76 540.635 3197.107 548.448 3204.813 C 559.862 3196.027 563.395 3177.28 556.062 3159.613 C 549.648 3144.147 536.755 3134 524.075 3132.973"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1083.160889, 6337.785889)"
id=
"path42"
/>
<path
d=
"M 394.59 3233.041 C 401.603 3249.948 416.336 3260.494 430.083 3259.734 C 430.19 3248.668 428.123 3237.401 423.616 3226.521 C 417.843 3212.601 408.75 3201.054 397.67 3192.374 C 389.99 3202.161 388.35 3218.001 394.59 3233.041"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 820.847992, 6452.146484)"
id=
"path44"
/>
<path
d=
"M 503.317 3186.805 C 510.997 3205.299 505.65 3225.085 491.383 3231.019 C 477.117 3236.925 459.343 3226.739 451.65 3208.245 C 443.983 3189.752 449.33 3169.965 463.597 3164.045 C 477.863 3158.125 495.65 3168.312 503.317 3186.805"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 954.975739, 6395.057373)"
id=
"path46"
/>
<path
d=
"M 488.793 3192.837 C 492.139 3200.93 489.806 3209.597 483.566 3212.184 C 477.326 3214.77 469.539 3210.317 466.179 3202.224 C 462.833 3194.13 465.166 3185.477 471.406 3182.877 C 477.646 3180.29 485.433 3184.757 488.793 3192.837"
style=
"fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 954.971985, 6395.061768)"
id=
"path48"
/>
<path
d=
"M 552.51 3180.773 C 558.51 3178.026 560.723 3169.533 557.417 3161.586 C 554.417 3154.36 547.883 3150.04 542.083 3151.053 C 543.083 3157.72 544.897 3164.373 547.59 3170.88 C 549.03 3174.333 550.683 3177.626 552.51 3180.773"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1101.035461, 6331.679443)"
id=
"path50"
/>
<path
d=
"M 398.298 3214.704 C 393.712 3218.211 392.298 3225.717 395.232 3232.784 C 398.472 3240.584 405.805 3244.984 411.912 3242.984 C 410.965 3239.477 409.818 3235.997 408.378 3232.544 C 405.685 3226.064 402.272 3220.104 398.298 3214.704"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 805.610535, 6458.168945)"
id=
"path52"
/>
<path
d=
"M 532.161 3286.717 C 532.161 3286.717 546.001 3286.65 546.467 3280.837 C 547.054 3273.41 538.814 3272.704 532.747 3273.25 C 532.747 3273.25 523.107 3279.064 532.161 3286.717"
style=
"fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1074.780212, 6559.823486)"
id=
"path54"
/>
<path
d=
"M 980.046 3337.025 C 992.419 3338.812 1001.019 3350.319 999.219 3362.692 L 998.739 3366.052 C 996.939 3378.452 985.446 3387.025 973.059 3385.239 L 884.486 3372.412 C 872.099 3370.612 863.513 3359.119 865.313 3346.732 L 865.793 3343.372 C 867.593 3330.985 879.086 3322.412 891.473 3324.199 L 980.046 3337.025"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1864.531677, 6709.437744)"
id=
"path56"
/>
<path
d=
"M 885.326 3263.772 C 931.539 3270.465 963.593 3313.372 956.899 3359.585 C 950.206 3405.798 907.313 3437.838 861.086 3431.158 C 814.859 3424.465 782.819 3381.572 789.513 3335.345 C 796.206 3289.132 839.099 3257.092 885.326 3263.772"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1746.411621, 6694.929932)"
id=
"path58"
/>
<path
d=
"M 981.699 3341.466 C 985.819 3342.066 988.686 3345.893 988.086 3350.013 C 987.486 3354.146 983.659 3357.013 979.526 3356.413 L 968.326 3354.786 C 964.193 3354.199 961.326 3350.359 961.926 3346.226 C 962.526 3342.106 966.353 3339.239 970.486 3339.839 L 981.699 3341.466"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1950.012024, 6696.252197)"
id=
"path60"
/>
<path
d=
"M 921.245 3418.144 C 920.831 3388.864 893.378 3367.811 896.151 3348.597 C 898.658 3331.251 932.218 3318.584 941.298 3295.197 C 928.365 3278.744 909.338 3267.011 886.978 3263.771 C 863.005 3260.304 839.938 3267.277 822.338 3281.211 C 828.245 3308.931 861.471 3328.664 856.431 3346.277 C 849.485 3370.451 808.085 3379.037 806.818 3396.331 C 806.791 3396.744 806.778 3397.157 806.765 3397.584 C 819.711 3415.171 839.418 3427.771 862.738 3431.157 C 884.018 3434.237 904.578 3429.091 921.245 3418.144"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1748.062988, 6694.929443)"
id=
"path62"
/>
<path
d=
"M 851.845 3277.281 C 863.219 3286.401 877.085 3292.694 892.552 3294.947 C 904.085 3296.614 915.419 3295.867 926.032 3293.094 C 924.339 3278.801 910.032 3266.174 891.099 3263.427 C 874.525 3261.027 859.219 3266.894 851.845 3277.281"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1777.876953, 6558.719482)"
id=
"path64"
/>
<path
d=
"M 862.62 3431.495 C 880.726 3434.121 897.326 3426.855 903.713 3414.655 C 894.26 3408.895 883.526 3404.908 871.873 3403.215 C 856.94 3401.068 842.38 3402.961 829.246 3408.041 C 833.726 3419.655 846.5 3429.161 862.62 3431.495"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1732.958984, 6834.372803)"
id=
"path66"
/>
<path
d=
"M 882.03 3320.145 C 901.843 3323.012 916.123 3337.732 913.896 3353.012 C 911.696 3368.305 893.83 3378.372 874.016 3375.505 C 854.203 3372.625 839.936 3357.918 842.15 3342.625 C 844.363 3327.345 862.216 3317.278 882.03 3320.145"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1756.04834, 6695.649902)"
id=
"path68"
/>
<path
d=
"M 879.776 3335.718 C 888.456 3336.972 894.696 3343.412 893.723 3350.092 C 892.75 3356.785 884.936 3361.185 876.27 3359.932 C 867.603 3358.678 861.363 3352.238 862.323 3345.558 C 863.296 3338.865 871.11 3334.465 879.776 3335.718"
style=
"fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1756.048523, 6695.649902)"
id=
"path70"
/>
<path
d=
"M 905.123 3277.185 C 905.83 3270.625 899.67 3264.385 891.15 3263.145 C 883.403 3262.025 876.363 3265.425 874.257 3270.932 C 880.497 3273.479 887.137 3275.332 894.11 3276.345 C 897.803 3276.879 901.483 3277.132 905.123 3277.185"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1779.435242, 6540.117188)"
id=
"path72"
/>
<path
d=
"M 850.312 3419.934 C 850.978 3425.654 856.698 3430.708 864.285 3431.814 C 872.632 3433.028 880.165 3428.974 881.578 3422.694 C 878.085 3421.721 874.498 3420.934 870.805 3420.388 C 863.858 3419.388 856.992 3419.268 850.312 3419.934"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1731.890015, 6851.546387)"
id=
"path74"
/>
<path
d=
"M 983.621 3350.069 C 983.621 3350.069 997.941 3336.842 990.687 3330.922 C 984.914 3326.216 978.007 3334.642 974.314 3339.482 C 974.314 3339.482 971.861 3351.549 983.621 3350.069"
style=
"fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1966.839294, 6679.734375)"
id=
"path76"
/>
<path
d=
"M 674.726 3218.371 C 674.726 3228.558 666.472 3236.798 656.299 3236.798 C 646.112 3236.798 637.859 3228.558 637.859 3218.371 C 637.859 3208.198 646.112 3199.945 656.299 3199.945 C 666.472 3199.945 674.726 3208.198 674.726 3218.371"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1312.585022, 6436.743164)"
id=
"path78"
/>
<path
d=
"M 982.739 3223.626 C 982.739 3238.172 970.952 3249.959 956.419 3249.959 C 941.872 3249.959 930.086 3238.172 930.086 3223.626 C 930.086 3209.092 941.872 3197.306 956.419 3197.306 C 970.952 3197.306 982.739 3209.092 982.739 3223.626"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 1912.825012, 6447.264893)"
id=
"path80"
/>
<path
d=
"M 1171.238 3358.212 C 1171.238 3372.759 1159.451 3384.545 1144.906 3384.545 C 1130.366 3384.545 1118.579 3372.759 1118.579 3358.212 C 1118.579 3343.679 1130.366 3331.892 1144.906 3331.892 C 1159.451 3331.892 1171.238 3343.679 1171.238 3358.212"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2289.817017, 6716.437012)"
id=
"path82"
/>
<path
d=
"M 1293.383 3273.651 C 1293.383 3285.278 1283.954 3294.718 1272.322 3294.718 C 1260.69 3294.718 1251.261 3285.278 1251.261 3273.651 C 1251.261 3262.025 1260.69 3252.585 1272.322 3252.585 C 1283.954 3252.585 1293.383 3262.025 1293.383 3273.651"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 2544.644043, 6547.302979)"
id=
"path84"
/>
<path
d=
"M 1667.213 3446.091 C 1667.213 3456.998 1658.373 3465.838 1647.468 3465.838 C 1636.564 3465.838 1627.724 3456.998 1627.724 3446.091 C 1627.724 3435.185 1636.564 3426.345 1647.468 3426.345 C 1658.373 3426.345 1667.213 3435.185 1667.213 3446.091"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3294.937012, 6892.182861)"
id=
"path86"
/>
<path
d=
"M 1709.335 3251.266 C 1709.335 3260.719 1701.674 3268.386 1692.225 3268.386 C 1682.773 3268.386 1675.113 3260.719 1675.113 3251.266 C 1675.113 3241.826 1682.773 3234.159 1692.225 3234.159 C 1701.674 3234.159 1709.335 3241.826 1709.335 3251.266"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3384.447998, 6502.544922)"
id=
"path88"
/>
<path
d=
"M 1906.782 3360.52 C 1906.782 3375.067 1894.996 3386.854 1880.454 3386.854 C 1865.914 3386.854 1854.129 3375.067 1854.129 3360.52 C 1854.129 3345.987 1865.914 3334.2 1880.454 3334.2 C 1894.996 3334.2 1906.782 3345.987 1906.782 3360.52"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 3760.911011, 6721.053955)"
id=
"path90"
/>
<path
d=
"M 2080.534 3310.52 C 2080.534 3322.147 2071.106 3331.573 2059.474 3331.573 C 2047.842 3331.573 2038.414 3322.147 2038.414 3310.52 C 2038.414 3298.88 2047.842 3289.453 2059.474 3289.453 C 2071.106 3289.453 2080.534 3298.88 2080.534 3310.52"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(-1, 0, 0, -1, 4118.947876, 6621.025879)"
id=
"path92"
/>
<path
d=
"M 1015.195 856.036 C 1020.271 873.676 1036.067 889.182 1051.567 898.85 C 1062.938 905.943 1076.098 909.943 1089.337 912.223 C 1113.689 916.436 1143.805 913.33 1161.962 895.49 C 1181.653 876.116 1173.882 844.53 1158.185 825.463 C 1138.809 801.915 1108.417 787.903 1079.835 777.93 C 1075.862 776.542 1071.849 775.236 1067.815 773.996 C 1038.762 790.57 1004.869 819.93 1015.195 856.036 Z M 488.268 818.01 C 505.48 791.048 515.314 755.248 499.578 725.57 C 482.701 693.675 439.385 679.222 405.688 693.035 C 372.248 706.755 355.114 741.782 357.416 775.73 C 359.776 810.783 385.722 839.915 414.225 859.036 C 419.497 862.568 424.926 865.783 430.473 868.73 C 453.981 857.25 473.888 840.53 488.268 818.01 Z M 1391.699 1222.543 C 1385.189 1258.584 1372.363 1293.41 1359.302 1327.611 C 1332.077 1398.891 1297.515 1471.72 1294.486 1548.863 C 1293.305 1578.846 1298.419 1608.891 1311.658 1636.118 C 1315.415 1643.815 1303.554 1650.346 1299.797 1642.624 C 1266.73 1574.674 1282.859 1498.624 1305.934 1430.291 C 1330.13 1358.704 1366.325 1289.598 1379.307 1214.824 C 1390.933 1147.85 1383.773 1076.61 1370.278 1010.463 C 1356.311 941.943 1332.962 870.65 1289.077 814.29 C 1265.058 783.476 1233.603 759.37 1194.379 750.303 C 1157.162 741.688 1118.39 749.57 1084.379 765.436 C 1091.402 767.903 1098.326 770.61 1105.151 773.542 C 1132.554 785.355 1159.621 801.716 1175.83 826.903 C 1189.875 848.716 1192.314 879.61 1175.358 900.583 C 1159.011 920.808 1130.901 927.263 1105.585 926.916 C 1076.943 926.503 1049.915 916.703 1028.71 898.088 C 1014.31 885.475 1002.429 868.702 999.99 849.676 C 997.925 833.542 1003.314 818.01 1012.363 804.622 C 1021.845 790.542 1034.926 778.73 1049.699 768.982 C 1030.461 764.236 1010.829 761.17 991.001 759.875 C 897.189 753.782 810.518 790.796 730.536 834.396 C 721.33 839.41 711.258 843.328 701.817 847.943 C 691.352 853.022 680.965 858.223 670.5 863.303 C 650.692 872.943 630.626 882.048 609.874 889.622 C 569.608 904.33 528.141 909.05 485.67 901.822 C 467.18 898.676 448.177 892.583 430.316 883.916 C 408.62 893.116 384.797 898.395 362.137 900.956 C 322.657 905.422 282.645 902.33 243.893 894.223 C 225.953 890.476 208.23 887.155 190.722 881.688 C 173.589 876.342 156.916 869.608 140.557 862.29 C 107.089 847.302 75.356 828.903 43.85 810.408 C -19.178 773.396 -82.818 734.462 -155.752 719.102 C -181.271 713.728 -207.458 711.982 -233.511 713.368 C -242.312 713.836 -242.031 700.582 -233.296 700.115 C -157.538 696.088 -87.204 722.195 -21.951 757.248 C 42.637 791.93 103.104 834.596 172.054 861.115 C 206.498 874.37 243.461 882.342 280.148 886.956 C 320.257 891.996 361.704 890.956 400.712 879.995 C 405.472 878.663 410.153 877.156 414.697 875.476 C 375.828 852.235 345.494 816.062 343.508 771.103 C 342.033 737.555 359.598 704.888 388.594 686.822 C 418.533 668.182 458.86 671.462 486.989 691.848 C 547.32 735.542 517.46 818.928 469.953 859.876 C 462.734 866.103 454.768 871.503 446.289 876.183 C 468.636 885.503 492.673 890.65 517.204 892.13 C 562.722 894.89 606.452 878.53 646.797 859.862 C 667.077 850.476 686.925 840.236 707.088 830.61 C 727.645 820.782 747.552 809.915 767.99 799.85 C 845.434 761.715 930.846 736.728 1018.303 749.37 C 1034.297 751.676 1050.151 755.048 1065.691 759.503 C 1079.835 752.01 1094.785 746.103 1109.243 741.635 C 1149.195 729.328 1192.078 731.408 1230.142 748.476 C 1296.079 778.036 1333.178 849.944 1356.765 912.85 C 1382.375 981.208 1395.517 1054.771 1397.818 1127.371 C 1398.841 1159.171 1397.365 1191.183 1391.699 1222.543"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -581.242386, 1739.380478)"
id=
"path94"
/>
<path
d=
"M 444.422 432.432 C 432.699 437.059 419.455 431.326 414.828 419.606 L 413.564 416.419 C 408.938 404.712 414.691 391.46 426.412 386.846 L 510.17 353.739 C 521.892 349.112 535.136 354.859 539.763 366.566 L 541.008 369.739 C 545.634 381.459 539.9 394.711 528.179 399.339 L 444.422 432.432"
style=
"fill: rgb(229, 175, 66); fill-opacity: 1; fill-rule: nonzero; stroke: none;"
transform=
"matrix(0, -1, 1, 0, 84.200928, 870.373718)"
id=
"path96"
/>
<path
d=
"M 531.751 527.448 C 488.059 544.713 438.605 523.273 421.355 479.568 C 404.067 435.846 425.511 386.421 469.222 369.141 C 512.934 351.874 562.369 373.3 579.638 417.021 C 596.907 460.727 575.482 510.167 531.751 527.448"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 52.199387, 948.785507)"
id=
"path98"
/>
<path
d=
"M 447.658 368.239 C 443.749 369.773 439.329 367.865 437.778 363.959 C 436.246 360.052 438.151 355.626 442.06 354.092 L 452.667 349.906 C 456.576 348.358 460.995 350.279 462.528 354.172 C 464.079 358.091 462.154 362.491 458.246 364.039 L 447.658 368.239"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 91.087387, 809.226334)"
id=
"path100"
/>
<path
d=
"M 423.058 408.198 C 438.049 433.559 472.574 438.21 479.748 456.385 C 486.22 472.798 463.275 500.624 467.038 525.599 C 486.571 533.504 509.049 534.226 530.181 525.878 C 552.873 516.904 569.521 499.291 577.923 478.319 C 558.897 457.064 520.024 456.451 515.618 438.544 C 509.575 413.959 541.449 385.744 533.904 370.024 C 533.709 369.638 533.515 369.265 533.32 368.891 C 513.221 360.011 489.69 358.865 467.642 367.571 C 447.523 375.531 432.142 390.304 423.058 408.198"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 53.768951, 947.212036)"
id=
"path102"
/>
<path
d=
"M 469.89 454.433 C 455.4 452.141 440.128 453.58 425.504 459.353 C 414.604 463.675 405.059 469.981 397.174 477.714 C 405.822 489.353 424.626 493.235 442.533 486.154 C 458.206 479.967 468.63 467.167 469.89 454.433"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -38.015244, 905.079269)"
id=
"path104"
/>
<path
d=
"M 559.501 400.528 C 542.377 407.302 531.505 421.943 532.029 435.796 C 543.173 436.089 554.551 434.21 565.559 429.862 C 579.674 424.275 591.459 415.328 600.371 404.329 C 590.644 396.435 574.762 394.515 559.501 400.528"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 149.780731, 982.601105)"
id=
"path106"
/>
<path
d=
"M 508.744 470.098 C 490.003 477.497 470.183 471.777 464.457 457.325 C 458.75 442.87 469.316 425.15 488.056 417.737 C 506.816 410.337 526.616 416.057 532.342 430.51 C 538.049 444.964 527.484 462.684 508.744 470.098"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 54.482361, 942.316742)"
id=
"path108"
/>
<path
d=
"M 502.932 455.379 C 494.719 458.605 486.067 456.112 483.559 449.778 C 481.051 443.459 485.665 435.698 493.877 432.472 C 502.07 429.231 510.742 431.724 513.25 438.045 C 515.739 444.377 511.125 452.125 502.932 455.379"
style=
"fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 54.479767, 942.320648)"
id=
"path110"
/>
<path
d=
"M 409.366 476.163 C 412.019 482.243 420.526 484.617 428.597 481.43 C 435.911 478.537 440.363 472.044 439.435 466.176 C 432.728 467.084 426.002 468.789 419.408 471.39 C 415.903 472.777 412.568 474.39 409.366 476.163"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -50.05011, 898.972839)"
id=
"path112"
/>
<path
d=
"M 588.569 409.239 C 585.112 404.573 577.599 403.026 570.415 405.852 C 562.535 408.973 557.977 416.279 559.87 422.465 C 563.424 421.572 566.958 420.466 570.434 419.093 C 577.001 416.491 583.065 413.158 588.569 409.239"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 160.555084, 987.456818)"
id=
"path114"
/>
<path
d=
"M 432.702 354.551 C 432.702 354.551 432.525 368.47 438.365 369.045 C 445.851 369.764 446.693 361.484 446.262 355.365 C 446.262 355.365 440.56 345.576 432.702 354.551"
style=
"fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 79.601822, 799.453384)"
id=
"path116"
/>
<path
d=
"M 263.293 1016.646 C 264.312 1004.088 254.942 993.101 242.39 992.101 L 238.979 991.821 C 226.412 990.807 215.436 1000.18 214.432 1012.727 L 207.238 1102.502 C 206.235 1115.061 215.59 1126.062 228.157 1127.061 L 231.553 1127.328 C 244.119 1128.342 255.096 1118.98 256.099 1106.421 L 263.293 1016.646"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -824.307968, 1294.841141)"
id=
"path118"
/>
<path
d=
"M 260.519 1060.296 C 264.273 1013.443 229.329 972.416 182.489 968.67 C 135.633 964.91 94.606 999.857 90.867 1046.697 C 87.097 1093.55 122.026 1134.577 168.882 1138.337 C 215.738 1142.084 256.765 1107.151 260.519 1060.296"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -877.810829, 1229.194481)"
id=
"path120"
/>
<path
d=
"M 283.764 1070.531 C 284.099 1066.343 280.98 1062.676 276.797 1062.343 C 272.598 1062.01 268.947 1065.13 268.612 1069.317 L 267.699 1080.676 C 267.365 1084.864 270.483 1088.53 274.667 1088.864 C 278.866 1089.197 282.517 1086.077 282.867 1081.89 L 283.764 1070.531"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -799.871933, 1351.335098)"
id=
"path122"
/>
<path
d=
"M 119.19 989.685 C 147.856 996.631 162.37 1028.271 181.856 1029.831 C 199.441 1031.245 219.354 1001.138 244.332 997.445 C 257.596 1013.831 264.861 1035.112 263.041 1057.778 C 261.094 1082.086 249.096 1103.165 231.494 1117.313 C 205.615 1105.325 193.68 1068.312 175.255 1069.339 C 149.977 1070.738 132.296 1109.458 115.058 1106.832 C 114.647 1106.764 114.235 1106.698 113.824 1106.619 C 99.451 1089.978 91.474 1067.832 93.373 1044.178 C 95.098 1022.618 104.738 1003.578 119.19 989.685"
style=
"fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -875.292198, 1231.705788)"
id=
"path124"
/>
<path
d=
"M 167.607 1161.27 C 161.198 1148.082 158.114 1133.07 159.372 1117.376 C 160.3 1105.683 163.564 1094.736 168.67 1084.936 C 182.311 1089.803 191.505 1106.656 189.963 1125.843 C 188.63 1142.642 179.436 1156.349 167.607 1161.27"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -948.48954, 1297.716515)"
id=
"path126"
/>
<path
d=
"M 170.998 982.842 C 172.486 964.483 183.309 949.816 196.711 946.269 C 200.255 956.829 201.759 968.256 200.809 980.068 C 199.591 995.202 194.496 1009.069 186.553 1020.816 C 176.173 1013.829 169.685 999.189 170.998 982.842"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -797.583603, 1169.501358)"
id=
"path128"
/>
<path
d=
"M 208.561 1056.459 C 210.171 1036.38 198.921 1019.087 183.43 1017.846 C 167.925 1016.606 154.044 1031.886 152.435 1051.967 C 150.841 1072.059 162.091 1089.34 177.581 1090.593 C 193.087 1091.833 206.937 1076.553 208.561 1056.459"
style=
"fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -873.720078, 1234.718948)"
id=
"path130"
/>
<path
d=
"M 192.771 1055.24 C 193.478 1046.453 188.559 1038.88 181.78 1038.346 C 175.001 1037.799 168.929 1044.48 168.222 1053.266 C 167.53 1062.053 172.449 1069.625 179.228 1070.159 C 186.008 1070.706 192.08 1064.025 192.771 1055.24"
style=
"fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -873.754662, 1234.750343)"
id=
"path132"
/>
<path
d=
"M 169.335 1116.473 C 175.931 1117.233 180.685 1124.687 179.987 1133.312 C 179.363 1141.167 174.446 1147.326 168.578 1148.167 C 167.463 1141.459 167.137 1134.539 167.716 1127.459 C 167.998 1123.712 168.578 1120.059 169.335 1116.473"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -958.575386, 1306.064629)"
id=
"path134"
/>
<path
d=
"M 189.163 990.559 C 183.69 988.626 180.004 981.879 180.621 974.199 C 181.301 965.732 186.949 959.239 193.419 959.253 C 193.609 962.905 193.577 966.613 193.277 970.347 C 192.723 977.399 191.299 984.146 189.163 990.559"
style=
"fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -787.860374, 1161.951637)"
id=
"path136"
/>
<path
d=
"M 272.405 1082.605 C 272.405 1082.605 288.592 1071.513 292.767 1079.939 C 296.108 1086.671 286.299 1091.552 280.711 1094.112 C 280.711 1094.112 268.32 1093.805 272.405 1082.605"
style=
"fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -802.933823, 1367.957291)"
id=
"path138"
/>
<path
d=
"M 328.885 1597.404 C 328.885 1582.777 317.019 1570.911 302.392 1570.911 C 287.752 1570.911 275.899 1582.777 275.899 1597.404 C 275.899 1612.044 287.752 1623.897 302.392 1623.897 C 317.019 1623.897 328.885 1612.044 328.885 1597.404"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -1295.011993, 1899.79599)"
id=
"path140"
/>
<path
d=
"M 266.113 1406.378 C 266.113 1391.738 254.26 1379.884 239.62 1379.884 C 224.993 1379.884 213.126 1391.738 213.126 1406.378 C 213.126 1421.004 224.993 1432.871 239.62 1432.871 C 254.26 1432.871 266.113 1421.004 266.113 1406.378"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -1166.757996, 1645.997009)"
id=
"path142"
/>
<path
d=
"M 244.112 866.153 C 244.112 851.513 232.254 839.646 217.622 839.646 C 202.972 839.646 191.114 851.513 191.114 866.153 C 191.114 880.779 202.972 892.646 217.622 892.646 C 232.254 892.646 244.112 880.779 244.112 866.153"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -648.532997, 1083.758995)"
id=
"path144"
/>
<path
d=
"M 334.201 423.679 C 334.201 409.039 322.337 397.185 307.709 397.185 C 293.061 397.185 281.197 409.039 281.197 423.679 C 281.197 438.307 293.061 450.173 307.709 450.173 C 322.337 450.173 334.201 438.307 334.201 423.679"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -115.980011, 731.377991)"
id=
"path146"
/>
<path
d=
"M 741.762 395.952 C 741.762 383.152 731.383 372.765 718.589 372.765 C 705.775 372.765 695.397 383.152 695.397 395.952 C 695.397 408.752 705.775 419.139 718.589 419.139 C 731.383 419.139 741.762 408.752 741.762 395.952"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, 322.627487, 1114.531509)"
id=
"path148"
/>
<path
d=
"M 356.712 1237.079 C 356.712 1226.092 347.821 1217.197 336.845 1217.197 C 325.868 1217.197 316.964 1226.092 316.964 1237.079 C 316.964 1248.051 325.868 1256.944 336.845 1256.944 C 347.821 1256.944 356.712 1248.051 356.712 1237.079"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -900.232498, 1573.908493)"
id=
"path150"
/>
<path
d=
"M 374.748 634.505 C 374.748 623.532 365.862 614.638 354.888 614.638 C 343.915 614.638 335.01 623.532 335.01 634.505 C 335.01 645.478 343.915 654.385 354.888 654.385 C 365.862 654.385 374.748 645.478 374.748 634.505"
style=
"fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform=
"matrix(0, -1, 1, 0, -279.632507, 989.390503)"
id=
"path152"
/>
</g>
</svg>
\ No newline at end of file
...
...
demo/assets/invoice.svg
0 → 100644
View file @
7296463
<?xml version="1.0" encoding="utf-8"?>
<svg
viewBox=
"0 0 500 92.355"
version=
"1.1"
id=
"svg10"
xmlns=
"http://www.w3.org/2000/svg"
>
<defs
id=
"defs14"
>
<linearGradient
gradientUnits=
"userSpaceOnUse"
x1=
"249.08"
y1=
"1.221"
x2=
"249.08"
y2=
"61.398"
id=
"gradient-0"
>
<stop
offset=
"0"
style=
"stop-color: rgba(0, 150, 135, 1)"
id=
"stop10"
/>
<stop
offset=
"1"
style=
"stop-color: rgba(0, 48, 43, 1)"
id=
"stop12"
/>
</linearGradient>
</defs>
<path
id=
"path22"
style=
"fill:url(#gradient-0);fill-opacity:1;stroke-width:11.5843;stroke-linejoin:bevel"
d=
"M -3.996,39.674 C 8.273617,49.160161 35.005192,56.203995 82.221078,55.342874 129.43696,54.481753 207.42049,40.875492 276.53351,31.064139 345.64653,21.252786 456.00551,7.1441756 497.588,1.283 c 41.58249,-5.8611756 58.59922,9.526128 22.4,11.065 C 483.78878,13.886872 395.42397,17.664198 328.57509,26.666859 261.72621,35.66952 174.3037,56.887679 121.88359,61.404474 69.463477,65.92127 40.62983,63.238679 15.79525,56.147125 -9.0393296,49.055571 -17.563513,36.527873 -20.827733,32.373831 -24.091952,28.219789 -16.265617,30.187839 -3.996,39.674 Z"
/>
<path
id=
"path24"
style=
"fill:#0c92d6;fill-opacity:1;stroke-width:11.5843;stroke-linejoin:bevel"
d=
"M -17.566 96.408 L 511.464 93.956 L 512.077 14.16 C 469.043 16.127 424.67 19.39 371.361 23.79 C 318.053 28.19 214.33 47.844 158.734 58.537 C 103.138 69.23 57.993 65.275 27.883 60.798 C -2.227 56.321 -7.734 44.147 -18.596 43.062 L -17.566 96.408 Z"
/>
</svg>
\ No newline at end of file
...
...
demo/assets/resume.svg
0 → 100644
View file @
7296463
<?xml version="1.0" encoding="utf-8"?>
<svg
viewBox=
"0 0 150 230"
xmlns=
"http://www.w3.org/2000/svg"
>
<polygon
style=
"fill: rgb(205, 241, 231);"
points=
"0 0 0 230 60 0 "
/>
<polygon
style=
"fill: rgb(156, 229, 208);"
points=
"0 0 0 100 100 0 "
/>
<polygon
style=
"fill: rgb(205, 241, 231);"
points=
"30 0 110 50 150 0 "
/>
</svg>
\ No newline at end of file
...
...
demo/lib/calendar.dart
View file @
7296463
...
...
@@ -16,6 +16,7 @@
import
'dart:typed_data'
;
import
'package:flutter/services.dart'
;
import
'package:intl/intl.dart'
;
import
'package:pdf/pdf.dart'
;
import
'package:pdf/widgets.dart'
;
...
...
@@ -176,13 +177,34 @@ class Calendar extends StatelessWidget {
Future
<
Uint8List
>
generateCalendar
(
PdfPageFormat
pageFormat
)
async
{
//Create a PDF document.
final
document
=
Document
();
final
date
=
DateTime
.
now
();
String
bg
;
switch
(
date
.
month
)
{
case
12
:
bg
=
await
rootBundle
.
loadString
(
'assets/calendar.svg'
);
break
;
}
document
.
addPage
(
Page
(
pageFormat:
pageFormat
,
orientation:
PageOrientation
.
landscape
,
build:
(
context
)
=>
Calendar
(
date:
DateTime
.
now
(),
pageTheme:
PageTheme
(
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'
)),
),
buildForeground:
bg
==
null
?
null
:
(
context
)
=>
FullPage
(
ignoreMargins:
true
,
child:
SvgImage
(
svg:
bg
)),
),
build:
(
context
)
=>
Padding
(
padding:
const
EdgeInsets
.
only
(
right:
20
),
child:
Calendar
(
date:
date
,
),
),
),
);
...
...
demo/lib/invoice.dart
View file @
7296463
...
...
@@ -91,7 +91,9 @@ class Invoice {
double
get
_grandTotal
=>
_total
*
(
1
+
tax
);
pw
.
MemoryImage
_logo
;
String
_logo
;
String
_bgShape
;
Future
<
Uint8List
>
buildPdf
(
PdfPageFormat
pageFormat
)
async
{
// Create a PDF document.
...
...
@@ -101,9 +103,8 @@ class Invoice {
final
font2
=
await
rootBundle
.
load
(
'assets/roboto2.ttf'
);
final
font3
=
await
rootBundle
.
load
(
'assets/roboto3.ttf'
);
_logo
=
pw
.
MemoryImage
(
(
await
rootBundle
.
load
(
'assets/logo.png'
)).
buffer
.
asUint8List
(),
);
_logo
=
await
rootBundle
.
loadString
(
'assets/logo.svg'
);
_bgShape
=
await
rootBundle
.
loadString
(
'assets/invoice.svg'
);
// Add page to the PDF
doc
.
addPage
(
...
...
@@ -191,7 +192,7 @@ class Invoice {
padding:
const
pw
.
EdgeInsets
.
only
(
bottom:
8
,
left:
30
),
height:
72
,
child:
_logo
!=
null
?
pw
.
Image
.
provider
(
_logo
)
:
pw
.
PdfLogo
(),
_logo
!=
null
?
pw
.
SvgImage
(
svg:
_logo
)
:
pw
.
PdfLogo
(),
),
// pw.Container(
// color: baseColor,
...
...
@@ -224,7 +225,7 @@ class Invoice {
'Page
${context.pageNumber}
/
${context.pagesCount}
'
,
style:
const
pw
.
TextStyle
(
fontSize:
12
,
color:
PdfColors
.
grey
,
color:
PdfColors
.
white
,
),
),
],
...
...
@@ -242,45 +243,7 @@ class Invoice {
),
buildBackground:
(
context
)
=>
pw
.
FullPage
(
ignoreMargins:
true
,
child:
pw
.
Stack
(
children:
[
pw
.
Positioned
(
bottom:
0
,
left:
0
,
child:
pw
.
Container
(
height:
20
,
width:
pageFormat
.
width
/
2
,
decoration:
pw
.
BoxDecoration
(
gradient:
pw
.
LinearGradient
(
colors:
[
baseColor
,
PdfColors
.
white
],
),
),
),
),
pw
.
Positioned
(
bottom:
20
,
left:
0
,
child:
pw
.
Container
(
height:
20
,
width:
pageFormat
.
width
/
4
,
decoration:
pw
.
BoxDecoration
(
gradient:
pw
.
LinearGradient
(
colors:
[
accentColor
,
PdfColors
.
white
],
),
),
),
),
pw
.
Positioned
(
top:
pageFormat
.
marginTop
+
72
,
left:
0
,
right:
0
,
child:
pw
.
Container
(
height:
3
,
color:
baseColor
,
),
),
],
),
child:
pw
.
SvgImage
(
svg:
_bgShape
),
),
);
}
...
...
demo/lib/resume.dart
View file @
7296463
...
...
@@ -15,8 +15,10 @@
*/
import
'dart:async'
;
import
'dart:math'
;
import
'dart:typed_data'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
import
'package:meta/meta.dart'
;
import
'package:pdf/pdf.dart'
;
...
...
@@ -93,11 +95,18 @@ Future<Uint8List> generateResume(PdfPageFormat format) async {
),
),
_Category
(
title:
'Work Experience'
),
_Block
(
title:
'Tour bus driver'
),
_Block
(
title:
'Logging equipment operator'
),
_Block
(
title:
'Foot doctor'
),
_Block
(
title:
'Unicorn trainer'
),
_Block
(
title:
'Chief chatter'
),
_Block
(
title:
'Tour bus driver'
,
icon:
const
pw
.
IconData
(
0xe530
)),
_Block
(
title:
'Logging equipment operator'
,
icon:
const
pw
.
IconData
(
0xe30d
)),
_Block
(
title:
'Foot doctor'
,
icon:
const
pw
.
IconData
(
0xe3f3
)),
_Block
(
title:
'Unicorn trainer'
,
icon:
const
pw
.
IconData
(
0xf0cf
)),
_Block
(
title:
'Chief chatter'
,
icon:
const
pw
.
IconData
(
0xe0ca
)),
pw
.
SizedBox
(
height:
20
),
_Category
(
title:
'Education'
),
_Block
(
title:
'Bachelor Of Commerce'
),
...
...
@@ -149,6 +158,8 @@ Future<Uint8List> generateResume(PdfPageFormat format) async {
}
Future
<
pw
.
PageTheme
>
_myPageTheme
(
PdfPageFormat
format
)
async
{
final
bgShape
=
await
rootBundle
.
loadString
(
'assets/resume.svg'
);
format
=
format
.
applyMargin
(
left:
2.0
*
PdfPageFormat
.
cm
,
top:
4.0
*
PdfPageFormat
.
cm
,
...
...
@@ -159,51 +170,25 @@ Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
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'
)),
),
buildBackground:
(
pw
.
Context
context
)
{
return
pw
.
FullPage
(
ignoreMargins:
true
,
child:
pw
.
CustomPaint
(
size:
PdfPoint
(
format
.
width
,
format
.
height
),
painter:
(
PdfGraphics
canvas
,
PdfPoint
size
)
{
context
.
canvas
..
setColor
(
lightGreen
)
..
moveTo
(
0
,
size
.
y
)
..
lineTo
(
0
,
size
.
y
-
230
)
..
lineTo
(
60
,
size
.
y
)
..
fillPath
()
..
setColor
(
green
)
..
moveTo
(
0
,
size
.
y
)
..
lineTo
(
0
,
size
.
y
-
100
)
..
lineTo
(
100
,
size
.
y
)
..
fillPath
()
..
setColor
(
lightGreen
)
..
moveTo
(
30
,
size
.
y
)
..
lineTo
(
110
,
size
.
y
-
50
)
..
lineTo
(
150
,
size
.
y
)
..
fillPath
()
..
moveTo
(
size
.
x
,
0
)
..
lineTo
(
size
.
x
,
230
)
..
lineTo
(
size
.
x
-
60
,
0
)
..
fillPath
()
..
setColor
(
green
)
..
moveTo
(
size
.
x
,
0
)
..
lineTo
(
size
.
x
,
100
)
..
lineTo
(
size
.
x
-
100
,
0
)
..
fillPath
()
..
setColor
(
lightGreen
)
..
moveTo
(
size
.
x
-
30
,
0
)
..
lineTo
(
size
.
x
-
110
,
50
)
..
lineTo
(
size
.
x
-
150
,
0
)
..
fillPath
()
..
setColor
(
green
)
..
setLineWidth
(
2
)
..
moveTo
(
size
.
x
-
sep
-
format
.
marginRight
+
4
,
format
.
marginBottom
)
..
lineTo
(
size
.
x
-
sep
-
format
.
marginRight
+
4
,
size
.
y
-
format
.
marginTop
)
..
strokePath
();
},
child:
pw
.
Stack
(
children:
[
pw
.
Positioned
(
child:
pw
.
SvgImage
(
svg:
bgShape
),
left:
0
,
top:
0
,
),
pw
.
Positioned
(
child:
pw
.
Transform
.
rotate
(
angle:
pi
,
child:
pw
.
SvgImage
(
svg:
bgShape
)),
right:
0
,
bottom:
0
,
),
],
),
);
},
...
...
@@ -211,10 +196,12 @@ Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
}
class
_Block
extends
pw
.
StatelessWidget
{
_Block
({
this
.
title
});
_Block
({
this
.
title
,
this
.
icon
});
final
String
title
;
final
pw
.
IconData
icon
;
@override
pw
.
Widget
build
(
pw
.
Context
context
)
{
return
pw
.
Column
(
...
...
@@ -234,6 +221,8 @@ class _Block extends pw.StatelessWidget {
style:
pw
.
Theme
.
of
(
context
)
.
defaultTextStyle
.
copyWith
(
fontWeight:
pw
.
FontWeight
.
bold
)),
pw
.
Spacer
(),
if
(
icon
!=
null
)
pw
.
Icon
(
icon
,
color:
lightGreen
,
size:
18
),
]),
pw
.
Container
(
decoration:
const
pw
.
BoxDecoration
(
...
...
Please
register
or
login
to post a comment