createPDF method

createPDF

Implementation

@override
Future<GlobalKey> createPDF(GlobalKey key) async {
  try {
    final directory = await prepareSaveDir();

    final path = '${directory.path}/resume_${key.hashCode}.pdf';
    final pdf = pw.Document();
    final image = pw.MemoryImage(await capturePng(key));
    pdf.addPage(
      pw.Page(
        build: (pw.Context context) => pw.Center(child: pw.Image(image)),
      ),
    );

    final file = File(path);
    await file.writeAsBytes(await pdf.save());
  } catch (e) {
    throw Exception(e.toString());
  }

  return key;
}