fromAsset static method

Future<PDFDocument> fromAsset(
  1. String asset
)

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;
}