Flutter 将颤振应用程序屏幕导出为PDF

Flutter 将颤振应用程序屏幕导出为PDF,flutter,pdf,dart,Flutter,Pdf,Dart,是否有任何可能的方法将Flitter应用程序屏幕导出为PDF,我所寻找的类似于屏幕截图功能,但它应该生成PDF而不是图片 提前感谢您可以通过以下方式使用pdf/打印: 导入“包装:颤振/材料.省道”; 导入“package:flatter/rendering.dart”; 输入‘package:pdf/pdf.dart’; 导入“package:pdf/widgets.dart”作为pw; 进口“包装:打印/打印.省道”; void main(){ runApp(MaterialApp(home

是否有任何可能的方法将Flitter应用程序屏幕导出为PDF,我所寻找的类似于屏幕截图功能,但它应该生成PDF而不是图片


提前感谢

您可以通过以下方式使用pdf/打印:

导入“包装:颤振/材料.省道”;
导入“package:flatter/rendering.dart”;
输入‘package:pdf/pdf.dart’;
导入“package:pdf/widgets.dart”作为pw;
进口“包装:打印/打印.省道”;
void main(){
runApp(MaterialApp(home:MyApp());
}
类MyApp扩展了无状态小部件{
最终GlobalKey _printKey=GlobalKey();
void_printScreen(){
Printing.layoutPdf(onLayout:(PdfPageFormat格式)异步{
最终文件=pw.Document();
最终图像=等待WidgetWraper.fromKey(
键:_printKey,
像素比率:2.0,
);
文件添加页(pw.Page(
pageFormat:format,
构建:(pw.Context){
返回pw.中心(
孩子:扩大了(
子:pw.Image(图像),
),
);
}));
返回单据保存();
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:列(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
重新绘制边界(
键:_printKey,
儿童:
//这是将要打印的小部件。
康斯特弗利特标志(
尺寸:300,
),
),
],
),
),
浮动操作按钮:浮动操作按钮(
子:常量图标(Icons.print),
按下按钮:\u打印屏幕,
),
);
}
}

看起来不是这样。最接近的是像包这样的东西,它允许您从头开始创建PDF。这就是说,Flitter屏幕上充满了复杂的样式和布局,PDF只有通过将这些元素光栅化为图像才能真正再现这些内容,因此您所描述的假想包无论如何只不过是一个美化的图像。(除非您的屏幕非常简单,在这种情况下,从头开始的包应该足以满足您的需要。)wrapWidget方法未找到它已更改为
WidgetWrapper
。使用:
final image=wait WidgetWraper.fromKey(key:\u printKey)谢谢!如何使此代码创建多个页面?目前,它只创建一个PDF页面,它会将顶部部分切掉。相反,如何使其创建多页?此解决方案是否只打印一页屏幕?可以打印多页吗?