使用颤振在pdf中添加图形

时间:2021-07-29 07:53:35

标签: flutter

我正在处理需要在 pdf 中添加条形图的项目(如果可能,可自定义 pdf)。我正在尝试使用以下代码添加,但没有用

 void _printScreen() {
      doc.addPage(pw.MultiPage(
          pageFormat: PdfPageFormat.letter
              .copyWith(marginBottom: 1.5 * PdfPageFormat.cm),
          header: (pw.Context context) {
            if (context.pageNumber == 1) {
              return null;
            }
            return pw.Container(
                alignment: pw.Alignment.centerRight,
                margin:
                    const pw.EdgeInsets.only(bottom: 3.0 * PdfPageFormat.mm),
                padding:
                    const pw.EdgeInsets.only(bottom: 3.0 * PdfPageFormat.mm),
                decoration: const pw.BoxDecoration(
                  border: pw.Border(
                      bottom: pw.BorderSide(
                    color: PdfColors.grey,
                    width: 0.5,
                  )),
                ),
                child: pw.Text('Report',
                    style: pw.Theme.of(context)
                        .defaultTextStyle
                        .copyWith(color: PdfColors.grey)));
          },
          footer: (pw.Context context) {
            return pw.Container(
                alignment: pw.Alignment.centerRight,
                margin: const pw.EdgeInsets.only(top: 1.0 * PdfPageFormat.cm),
                child: pw.Text(
                    'Page ${context.pageNumber} of ${context.pagesCount}',
                    style: pw.Theme.of(context)
                        .defaultTextStyle
                        .copyWith(color: PdfColors.grey)));
          },
          build: (pw.Context context) => [
                pw.Center(
                  child: pw.Expanded(
                    child: pw.Image(image),
                  ),
                )
              ]));

      //save PDF
      final String dir = (await getExternalStorageDirectory()).path;
      final String path =
          '$dir/myreport${DateTime.now().toIso8601String()}.pdf';
      final File file = File(path);
      await file.writeAsBytes(await doc.save());
      snackbarMessage(
          message: "Report Saved Successfully.",
          icon: FontAwesomeIcons.infoCircle);
      return doc.save();
    });
  }

如果有人实现了这样的事情(在 pdf 中添加图表)请分享您的答案..提前谢谢:)

0 个答案:

没有答案
相关问题