fromAsset static method
Load a PDF File from assets folder
String asset
path of the asset to be loaded
Implementation
static Future<PDFDocument> fromAsset(String asset) async {
File file;
try {
final dir = await getApplicationDocumentsDirectory();
file = File("${dir.path}/${DateTime.now().millisecondsSinceEpoch}.pdf");
final data = await rootBundle.load(asset);
final bytes = data.buffer.asUint8List();
await file.writeAsBytes(bytes, flush: true);
} catch (e) {
throw Exception('Error parsing asset file!');
}
final document = PDFDocument();
document._filePath = file.path;
try {
final pageCount = await _channel
.invokeMethod('getNumberOfPages', {'filePath': file.path});
document.count = document.count = int.parse(pageCount as String);
} catch (e) {
throw Exception('Error reading PDF!');
}
return document;
}