deepak786
Committed by David PHAM-VAN

added parameters previewPageMargin and padding

@@ -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,17 +633,20 @@ class _PdfPreviewPage extends StatelessWidget { @@ -620,17 +633,20 @@ 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( 648 + margin: pageMargin ??
  649 + const EdgeInsets.only(
634 left: 8, 650 left: 8,
635 top: 8, 651 top: 8,
636 right: 8, 652 right: 8,