flutter - 从 url 加载 pdf 文件
问题描述
我有来自服务器 https://xxxx.pdf20200529的这个 url 。如何在我的颤振应用程序中将它加载为 pdf?
我使用这个插件,但什么也没发生。
代码
OpenFile.open(value); // value is https://xxxx.pdf20200529
编辑
generatePDF(dynamic value) async {
final filename = value.substring(value.lastIndexOf("/") + 1);
var request = await HttpClient().getUrl(Uri.parse(value));
var response = await request.close();
var bytes = await consolidateHttpClientResponseBytes(response);
String dir = (await getApplicationDocumentsDirectory()).path;
File file = new File('$dir/$filename');
await file.writeAsBytes(bytes);
OpenFile.open(file.path);
}
解决方案
在 Flutter 中打开 PDF 非常简单。所以我建议你使用一个包。flutter_full_pdf_viewer 工作得很好并且易于使用,但还有其他的。
https://pub.dev/packages/flutter_full_pdf_viewer
这将是您的 PDF 屏幕:
class PDFScreen extends StatelessWidget {
String pathPDF = "";
PDFScreen(this.pathPDF);
@override
Widget build(BuildContext context) {
return PDFViewerScaffold(
appBar: AppBar(
title: Text("Document"),
actions: <Widget>[
IconButton(
icon: Icon(Icons.share),
onPressed: () {},
),
],
),
path: pathPDF);
}
}
像这样导航到它。确保将本地路径传递到屏幕。:
Navigator.push(context, MaterialPageRoute(builder: (context) => PDFScreen(pathPDF)),
推荐阅读
- neural-network - 神经元网络的极端结构
- javascript - 在提交表单帖子之前获取 URL
- python-3.x - 如何使用除行(轴= 1)以外的参数将自定义函数传递给dataframe.apply
- arrays - Atollic TrueStudio (Eclipse) Debug Expressions 数组切割成零件
- python - 20newsgroup 数据集上的增强频率。TypeError:'int' 对象不可迭代
- javascript - 如何调试开发滑块以滚动浏览所有图像的错误?
- javascript - 如何将html id设置为变量
- python - 手势识别问题
- c++ - 如何在 Windows 10 操作系统上使用 Bazel 调试 c++ 代码
- docker - docker中的传输权限被拒绝