Flutter PDF生成的文档边距

e5nqia27  于 2022-12-19  发布在  Flutter
关注(0)|答案(2)|浏览(166)

我正在Flutter中使用PDF包创建我的第一个PDF文档。
这里你有一个部分截图从pdf部分,我需要改变:

您可能会看到6行,每行都有一个时间和字符串。
下面是该屏幕截图的代码:

static Widget buildTablaDiario(List<dynamic> listaDiarioActual){

    return ListView.builder(
        itemCount: listaDiarioActual.length,

        itemBuilder: (pw.Context context, index){

          DiarioModelo diario = listaDiarioActual[index];

          DateTime tempDateI =
          new DateFormat("yyyy-MM-dd hh:mm:ss")
              .parse(diario.fecha_diario);

          String date1 = DateFormat("dd-MM-yyyy HH:mm")
              .format(tempDateI);
          String hora = DateFormat("HH:mm")
              .format(tempDateI);
          return Row(
            children: [
              pw.Text("${hora}"),
              pw.SizedBox(width: 10),
              pw.Text(diario.descripcion,overflow: TextOverflow.clip)
            ]

          );

        }

    );
 }

我想设置一个右边距,以避免文本行在文档的右边缘结束。

mitkmikd

mitkmikd1#

我知道现在很晚了,但是如果有人还在寻找答案......在pw.Page或pw.MultiPage中有一个margin属性,您可以在其中添加填充

pdf.addPage(
    pw.MultiPage(

      pageFormat: PdfPageFormat.a4,

      **margin: const pw.EdgeInsets.only(top: 100),**

      orientation: pw.PageOrientation.portrait,...
i5desfxk

i5desfxk2#

另一种方法如下:在pdf.save()之前,运行以下命令以添加自定义边距

for (int i = 1; i < pdf.document.pdfPageList.pages.length; i++) {
      pdf.document.pdfPageList.pages
          .elementAt(i)
          .pageFormat
          .copyWith(marginLeft: 50, marginTop: 100, marginRight: 50, marginBottom: 50);
    }

相关问题