错误参数类型 'PdfImage' 无法分配给参数类型 'ImageProvider'
error The argument type 'PdfImage' can't be assigned to the parameter type 'ImageProvider'
我正在尝试使用 flutter 中的屏幕截图和 pdf 插件从屏幕截图制作 pdf。
当我将 Uint8List 传递给 pdf 创建函数时,我在 PdfImage.file(pdf.document, bytes: screenShot
收到错误 参数类型 'PdfImage' 无法分配给参数类型 'ImageProvider' 转pdf的代码是
Future getPdf(Uint8List screenShot) async {
pw.Document pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (context) {
return pw.Expanded(
child: pw.Image(PdfImage.file(pdf.document, bytes: screenShot), fit: pw.BoxFit.contain)
);
},
),
);
File pdfFile = File('Your path + File name');
pdfFile.writeAsBytesSync(await pdf.save());
}
并将屏幕截图传递给 pdf 函数如下
Uint8List _imageFile;
screenshotController.capture().then((Uint8List image) {
//Capture Done
setState(() {
_imageFile = image;
});
}).catchError((onError) {
print(onError);
});
getPdf(_imageFile);
},
谁能帮我解决这个问题?
试试这个方法:
Future getPdf(Uint8List screenShot) async {
pw.Document pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (context) {
return pw.Expanded(
// change this line to this:
child: pw.Image(pw.memoryImage(screenshot), fit: pw.BoxFit.contain),
);
},
),
);
File pdfFile = File('Your path + File name');
pdfFile.writeAsBytesSync(await pdf.save());
}
我正在尝试使用 flutter 中的屏幕截图和 pdf 插件从屏幕截图制作 pdf。
当我将 Uint8List 传递给 pdf 创建函数时,我在 PdfImage.file(pdf.document, bytes: screenShot
收到错误 参数类型 'PdfImage' 无法分配给参数类型 'ImageProvider' 转pdf的代码是
Future getPdf(Uint8List screenShot) async {
pw.Document pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (context) {
return pw.Expanded(
child: pw.Image(PdfImage.file(pdf.document, bytes: screenShot), fit: pw.BoxFit.contain)
);
},
),
);
File pdfFile = File('Your path + File name');
pdfFile.writeAsBytesSync(await pdf.save());
}
并将屏幕截图传递给 pdf 函数如下
Uint8List _imageFile;
screenshotController.capture().then((Uint8List image) {
//Capture Done
setState(() {
_imageFile = image;
});
}).catchError((onError) {
print(onError);
});
getPdf(_imageFile);
},
谁能帮我解决这个问题?
试试这个方法:
Future getPdf(Uint8List screenShot) async {
pw.Document pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (context) {
return pw.Expanded(
// change this line to this:
child: pw.Image(pw.memoryImage(screenshot), fit: pw.BoxFit.contain),
);
},
),
);
File pdfFile = File('Your path + File name');
pdfFile.writeAsBytesSync(await pdf.save());
}