繁体   English   中英

pdf Flutter,如何将图片(JPG/PNG 等)从资产附加到 pdf

[英]pdf Flutter, how to attach images (JPG/ PNG etc) from assets into a pdf

使用 pdf 库中的图像小部件时遇到问题

当前版本:pdf:^3.3.0

代码:

   final imageA = PdfImage.file(
      pdf.document,
      bytes: File('lib/Images/rocket14.jpg').readAsBytesSync(),
    );


child: pw.Image(pw.ImageImage(pdfimageA)),

错误:

 Unhandled Exception: type 'PdfImage' is not a subtype of type 'Image'

我完全不知道如何将 Pdfimage 解析为图像,最初我有

更新:

使用

 Future<MemoryImage> convtoImage(String name) async => pw.MemoryImage((await rootBundle.load('assets/img/$name.jpg')).buffer.asUint8List(),);

导致捕获 22,其中

error: A value of type 'MemoryImage' can't be returned from the function 'convtoImage' because it has a return type of 'Future<MemoryImage>'. (return_of_invalid_type at [scanrecopdfmaker] lib\main.dart:490)

但如果我将其设为 memimage 的返回类型,它会提示我将其转回未来。

也试过这个,但它从不更新值,所以它仍然是 null

Future<Uint8List> convtoImage(String name) async {
   ///1
   var a = await rootBundle.load('lib/Images/$name.jpg');
   Uint8List data = (await rootBundle.load('lib/Images/rocket14.jpg'))
       .buffer
       .asUint8List();
  // print("data IS $data");

   // var b = pw.MemoryImage(a.buffer.asUint8List());

  return  data;
 }
 var done;
  var tempa =  convtoImage('rocket14').whenComplete(() {
    print("done");
  }).then((value) => done=value);

print("AA IS $tempa");
  print("BIS $done");

  while(done == null){
    print(done);
   }

  print("Finito");

使用 rootBundle 从资产中加载图像

pw.MemoryImage(
(await rootBundle.load('assets/img/your_image.jpg')).buffer.asUint8List(),
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM