Flutter PDF Viewer 只显示白页
Flutter PDF Viewer shows only white pages
我正在尝试在 Flutter 中显示我之前从服务器下载的 PDF 文件。
flutter_full_pdf_viewer 和 advance_pdf_viewer 我都试过了。两个库都显示了正确的页数,但页面都是白色的。
有人知道为什么吗?如果我在 iOS 或 Android 或模拟器或真实设备中 运行 它没有区别。
class _PdfPageState extends State<PdfPage> {
String pathPDF = "";
File file;
PDFDocument doc = null;
@override
void initState() {
super.initState();
WeeklyReportsRepository( userRepository: UserRepository()).loadWeeklyReport(widget.weeklyReport.filename).then((file) {
setDoc(file);
});
}
Future<void> setDoc(File file) async {
var doc1 = await PDFDocument.fromFile(file);
setState(() {
doc = doc1;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
iconTheme: IconThemeData(color: Colors.white),
title: Text(
"Wochenbericht",
style: TextStyle(
color: Colors.white,
),
),
),
body: Container(
color: Theme
.of(context)
.backgroundColor,
child: (doc == null) ? Center(child: CircularProgressIndicator()) :
PDFViewer(document: doc,
scrollDirection: Axis.vertical,),
),
);
}
}
一切似乎都正确,但您可以尝试从您的计算机或 link 查看 pdf 并尝试查看 pdf 的特定页面。 Package document 尝试从资产 URL 或文件中加载,如 link 所示,如果这些方法有效,则服务器端出现问题。
在我的例子中,它是 UTF-8 字符的文件名。一旦我将 pdf 文件名更改为英文字母,advance_pdf_viewer
可以使用或不使用 .pdf 扩展名来阅读它。
确保 Pdf 文件是字母文件,而不是转换为 pdf 的图片。
我正在尝试在 Flutter 中显示我之前从服务器下载的 PDF 文件。 flutter_full_pdf_viewer 和 advance_pdf_viewer 我都试过了。两个库都显示了正确的页数,但页面都是白色的。
有人知道为什么吗?如果我在 iOS 或 Android 或模拟器或真实设备中 运行 它没有区别。
class _PdfPageState extends State<PdfPage> {
String pathPDF = "";
File file;
PDFDocument doc = null;
@override
void initState() {
super.initState();
WeeklyReportsRepository( userRepository: UserRepository()).loadWeeklyReport(widget.weeklyReport.filename).then((file) {
setDoc(file);
});
}
Future<void> setDoc(File file) async {
var doc1 = await PDFDocument.fromFile(file);
setState(() {
doc = doc1;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
iconTheme: IconThemeData(color: Colors.white),
title: Text(
"Wochenbericht",
style: TextStyle(
color: Colors.white,
),
),
),
body: Container(
color: Theme
.of(context)
.backgroundColor,
child: (doc == null) ? Center(child: CircularProgressIndicator()) :
PDFViewer(document: doc,
scrollDirection: Axis.vertical,),
),
);
}
}
一切似乎都正确,但您可以尝试从您的计算机或 link 查看 pdf 并尝试查看 pdf 的特定页面。 Package document 尝试从资产 URL 或文件中加载,如 link 所示,如果这些方法有效,则服务器端出现问题。
在我的例子中,它是 UTF-8 字符的文件名。一旦我将 pdf 文件名更改为英文字母,advance_pdf_viewer
可以使用或不使用 .pdf 扩展名来阅读它。
确保 Pdf 文件是字母文件,而不是转换为 pdf 的图片。