首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dart_pdf图片生成不正确及如何使用异步函数生成多页图片

dart_pdf图片生成不正确及如何使用异步函数生成多页图片
EN

Stack Overflow用户
提问于 2020-06-27 02:47:28
回答 1查看 70关注 0票数 0

图像加载不正确损坏的图像

代码语言:javascript
运行
复制
   PdfImage image = new PdfImage.file(
                doc.document,
                bytes: (File(field.imagename).readAsBytesSync()),
              );

如何使用await getContentlist函数作为异步。下面的函数调用

代码语言:javascript
运行
复制
doc.addPage(
       pw.MultiPage(
        maxPages: 100,
        pageTheme: _buildTheme(
          pageFormat,
          
        ),
        header: _buildheader2,
        footer: _buildfooter2,
        build:  (pw.Context context)  => getContentlist(context),
      ),
    );

下面是函数

代码语言:javascript
运行
复制
List<pw.Widget> getContentlist(context) {
      List<pw.Widget> contentlist = [];
      contentlist.add(pw.SizedBox(height: 20));

      contentlist.add(_contentheader2(context));                                                    
      return contentlist;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-27 03:05:18

我认为你需要问两个不同的问题

对于第二部分,如果build与Flutter小部件build()方法无关,您只需修改您的代码片段,使其异步

代码语言:javascript
运行
复制
build:  (pw.Context context) async  => getContentlist(context),

但如果与小部件构建相关,则需要使用等待未来状态更改并重新构建小部件的FutureBuilder小部件

代码语言:javascript
运行
复制
      FutureBuilder<String>(
        future: _yourFuture, 
        builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
          List<Widget> children;
          if (snapshot.hasData) {
            // return widget that shows data
          } else if (snapshot.hasError) {
            // return widget that shows  erro
          } 
          // by default show progress indication
          return Center(
            child: CircularProgressIndicator()
          );
        },
      ),

请随时在评论中与我联系

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62601080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档