gpt4 book ai didi

flutter - 使用 Flutter web 生成 PDF 文件

转载 作者:行者123 更新时间:2023-12-03 03:51:00 25 4
gpt4 key购买 nike

我正在 Web'ifing 一个 Flutter 移动应用程序,并试图解决在 Web 中缺少对路径提供程序的支持的问题。
我正在使用 PDF (pdf: ^1.9.0) 包生成 PDF 文档并将其上传到 Google 云端硬盘,我试图找出是否可以生成 PDF 并将其存储在内存中以使其与网络兼容。
使用路径提供程序的当前代码示例。

createFile() async {
final downloads = await getApplicationSupportDirectory();
final file = File("${downloads.path}/$filename.pdf");
await file.writeAsBytes(pdf.save());
await GoogleDriveController.uploadFileToGoogleDrive(file.path);
}
问题:有没有办法使用 Flutter web 为 web 生成和存储 Fies 的内存?

最佳答案

我设法找到了一种解决方法来生成 PDF 并通过浏览器触发下载,并认为我应该发布以防万一有人偶然发现。

//Create PDF in Bytes 
Uint8List pdfInBytes = pdf.save();

//Create blob and link from bytes
final blob = html.Blob([pdfInBytes], 'application/pdf');
final url = html.Url.createObjectUrlFromBlob(blob);
final anchor = html.document.createElement('a') as html.AnchorElement
..href = url
..style.display = 'none'
..download = 'pdf.pdf';
html.document.body.children.add(anchor);

//Trigger the download of this PDF in the browser.

RaisedButton(
child: Text('Press'),
onPressed: () {
anchor.click();
Navigator.pop(context);
},
)

关于flutter - 使用 Flutter web 生成 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63480298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com