当内容溢出时,如何在Flutter中动态地向PDF添加新页面?

lstz6jyr  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(133)

我正在做一个Flutter项目,我需要生成一个PDF文档,并在内容溢出当前页面时自动添加新页面。我正在使用PDF包生成PDF。
我尝试过向页面添加内容并检查溢出,但在实现过程中遇到了一些挑战。当内容超过当前页面的可用空间时,如何有效地添加新页面?
下面是我的代码的简化版本:

Future<void> generate() async {
    final logo = await _logo();
    final pdf = pw.Document(); 
    pdf.addPage(pw.Page(
      pageFormat: PdfPageFormat.a4,     
      build: (pw.Context context) {
        return pw.Column(
          children: [
            pw.Row(
              crossAxisAlignment: pw.CrossAxisAlignment.center,
              children: [
                logo,
                pw.Text(
                  Texts.title.toUpperCase(),
                  textAlign: pw.TextAlign.center,
                  style: pw.TextStyle(
                    fontSize: 18,
                    fontWeight: pw.FontWeight.bold,
                  ),
                ),
              ],
            ),
            _buildTableDadosTransformador(),
            _buildTablePotencia(),
            _buildTableNucleo(),
            _buildTablePrimario(),
          ],
        );
      },
    ));
    savePDF(pdf);
  }
vxf3dgd4

vxf3dgd41#

您可以使用MultiPage而不是Page这将增加页面溢出时。

pdf.addPage(
  pw.MultiPage(
    build: (context) {
      return [.....];
    }
   ),
)

相关问题