Committed by
David PHAM-VAN
added parameters previewPageMargin and padding
Showing
1 changed file
with
22 additions
and
6 deletions
| @@ -39,6 +39,8 @@ class PdfPreview extends StatefulWidget { | @@ -39,6 +39,8 @@ class PdfPreview extends StatefulWidget { | ||
| 39 | this.shareActionExtraBody, | 39 | this.shareActionExtraBody, |
| 40 | this.shareActionExtraSubject, | 40 | this.shareActionExtraSubject, |
| 41 | this.shareActionExtraEmails, | 41 | this.shareActionExtraEmails, |
| 42 | + this.previewPageMargin, | ||
| 43 | + this.padding, | ||
| 42 | }) : super(key: key); | 44 | }) : super(key: key); |
| 43 | 45 | ||
| 44 | /// Called when a pdf document is needed | 46 | /// Called when a pdf document is needed |
| @@ -111,6 +113,14 @@ class PdfPreview extends StatefulWidget { | @@ -111,6 +113,14 @@ class PdfPreview extends StatefulWidget { | ||
| 111 | /// This will work only for Android platform. | 113 | /// This will work only for Android platform. |
| 112 | final List<String>? shareActionExtraEmails; | 114 | final List<String>? shareActionExtraEmails; |
| 113 | 115 | ||
| 116 | + /// margin for the document preview page | ||
| 117 | + /// | ||
| 118 | + /// defaults to [EdgeInsets.only(left: 8, top: 8, right: 8, bottom: 12,)], | ||
| 119 | + final EdgeInsets? previewPageMargin; | ||
| 120 | + | ||
| 121 | + /// padding for the pdf_preview widget | ||
| 122 | + final EdgeInsets? padding; | ||
| 123 | + | ||
| 114 | @override | 124 | @override |
| 115 | _PdfPreviewState createState() => _PdfPreviewState(); | 125 | _PdfPreviewState createState() => _PdfPreviewState(); |
| 116 | } | 126 | } |
| @@ -224,11 +234,13 @@ class _PdfPreviewState extends State<PdfPreview> { | @@ -224,11 +234,13 @@ class _PdfPreviewState extends State<PdfPreview> { | ||
| 224 | pages.add(_PdfPreviewPage( | 234 | pages.add(_PdfPreviewPage( |
| 225 | page: page, | 235 | page: page, |
| 226 | pdfPreviewPageDecoration: widget.pdfPreviewPageDecoration, | 236 | pdfPreviewPageDecoration: widget.pdfPreviewPageDecoration, |
| 237 | + pageMargin: widget.previewPageMargin, | ||
| 227 | )); | 238 | )); |
| 228 | } else { | 239 | } else { |
| 229 | pages[pageNum] = _PdfPreviewPage( | 240 | pages[pageNum] = _PdfPreviewPage( |
| 230 | page: page, | 241 | page: page, |
| 231 | pdfPreviewPageDecoration: widget.pdfPreviewPageDecoration, | 242 | pdfPreviewPageDecoration: widget.pdfPreviewPageDecoration, |
| 243 | + pageMargin: widget.previewPageMargin, | ||
| 232 | ); | 244 | ); |
| 233 | } | 245 | } |
| 234 | }); | 246 | }); |
| @@ -346,6 +358,7 @@ class _PdfPreviewState extends State<PdfPreview> { | @@ -346,6 +358,7 @@ class _PdfPreviewState extends State<PdfPreview> { | ||
| 346 | return Scrollbar( | 358 | return Scrollbar( |
| 347 | child: ListView.builder( | 359 | child: ListView.builder( |
| 348 | controller: scrollController, | 360 | controller: scrollController, |
| 361 | + padding: widget.padding, | ||
| 349 | itemCount: pages.length, | 362 | itemCount: pages.length, |
| 350 | itemBuilder: (BuildContext context, int index) => GestureDetector( | 363 | itemBuilder: (BuildContext context, int index) => GestureDetector( |
| 351 | onDoubleTap: () { | 364 | onDoubleTap: () { |
| @@ -620,22 +633,25 @@ class _PdfPreviewPage extends StatelessWidget { | @@ -620,22 +633,25 @@ class _PdfPreviewPage extends StatelessWidget { | ||
| 620 | Key? key, | 633 | Key? key, |
| 621 | this.page, | 634 | this.page, |
| 622 | this.pdfPreviewPageDecoration, | 635 | this.pdfPreviewPageDecoration, |
| 636 | + this.pageMargin, | ||
| 623 | }) : super(key: key); | 637 | }) : super(key: key); |
| 624 | 638 | ||
| 625 | final PdfRaster? page; | 639 | final PdfRaster? page; |
| 626 | final Decoration? pdfPreviewPageDecoration; | 640 | final Decoration? pdfPreviewPageDecoration; |
| 641 | + final EdgeInsets? pageMargin; | ||
| 627 | 642 | ||
| 628 | @override | 643 | @override |
| 629 | Widget build(BuildContext context) { | 644 | Widget build(BuildContext context) { |
| 630 | final im = PdfRasterImage(page!); | 645 | final im = PdfRasterImage(page!); |
| 631 | 646 | ||
| 632 | return Container( | 647 | return Container( |
| 633 | - margin: const EdgeInsets.only( | ||
| 634 | - left: 8, | ||
| 635 | - top: 8, | ||
| 636 | - right: 8, | ||
| 637 | - bottom: 12, | ||
| 638 | - ), | 648 | + margin: pageMargin ?? |
| 649 | + const EdgeInsets.only( | ||
| 650 | + left: 8, | ||
| 651 | + top: 8, | ||
| 652 | + right: 8, | ||
| 653 | + bottom: 12, | ||
| 654 | + ), | ||
| 639 | decoration: pdfPreviewPageDecoration ?? | 655 | decoration: pdfPreviewPageDecoration ?? |
| 640 | const BoxDecoration( | 656 | const BoxDecoration( |
| 641 | color: Colors.white, | 657 | color: Colors.white, |
-
Please register or login to post a comment