fromAsset static method
Load a PDF File from assets folder
Implementation
static Future<PDFDocument> fromAsset(String asset) async {
// To open from assets, you can copy them to the app storage folder, and the access them "locally"
File file;
try {
var dir = await getApplicationDocumentsDirectory();
file = File("${dir.path}/file.pdf");
var data = await rootBundle.load(asset);
var bytes = data.buffer.asUint8List();
await file.writeAsBytes(bytes, flush: true);
} catch (e) {
throw Exception('Error parsing asset file!');
}
PDFDocument document = PDFDocument();
document._filePath = file.path;
try {
var pageCount = await _channel.invokeMethod('getNumberOfPages', {'filePath': file.path});
document.count = int.parse(pageCount);
} catch (e) {
throw Exception('Error reading PDF!');
}
return document;
}