我正在使用Flutter-web,我想导出一个pdf。我正在使用pdf格式包,并试图从它们的文档中实现一个简单的示例。具体来说,我有一个名为export_pdf.dart的文件,其中的代码如下所示。
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';
import 'package:universal_io/io.dart';
import 'package:path_provider/path_provider.dart';
exportPdf() async {
final pdf = Document();
pdf.addPage(Page(
pageFormat: PdfPageFormat.a4,
build: (Context context) {
return Center(
child: Text("Hello World"),
); // Center
})); // Page
final output = await getTemporaryDirectory();
final file = File("${output.path}/example.pdf");
await file.writeAsBytes(await pdf.save());
}当我通过单击一个按钮调用exportPdf()函数时,我将得到以下错误。
未知(承诺)错误:MissingPluginException(没有为通道插件上的getTemporaryDirectory方法找到实现)
我已经寻找这个问题很长时间了,但没有解决办法解决这个问题。
即使导入了path_provider包,getTemporaryDirectory()也不会被调用,就像它不存在一样。
我还需要提到,我使用的是universal_io,而不是dart:io,因为我使用的是flutter_web。
此错误将显示在我调用的每个函数中,并存在于path_provider/path_provider.dart文件中。我还在path_provider/path_provider.dart中添加了一个简单的打印函数,并得到一个方法找不到的错误。
谢谢您抽时间见我。
发布于 2021-01-19 13:48:41
我发现当前的软件包不支持在web中保存文件,建议使用打印插件打印或共享该文件。
发布于 2021-01-19 12:36:28
运行以下命令
flutter clean
flutter pub get
flutter run确保在第一个命令之后,删除build文件夹。
https://stackoverflow.com/questions/65791493
复制相似问题