genPdfCoverList method

Future<void> genPdfCoverList({
  1. required String outDirPath,
  2. required List<String> pdfPathList,
  3. int iconSize = 300,
})

Implementation

Future<void> genPdfCoverList({
  required String outDirPath,
  required List<String> pdfPathList,
  int iconSize = 300,
}) async {
  try {
    for (final pdfPath in pdfPathList) {
      final name = pdfPath.split('/').last;
      final outputPath = '$outDirPath/${name.split('.').first}';
      final outImageFile = File(outputPath);
      final oldImagePath = '${outImageFile.path}.png';
      if (await File(oldImagePath).exists()) {
        continue;
      }
      await Process.run('pdftoppm', [
        '-png',
        '-f',
        '1',
        '-singlefile',
        pdfPath,
        outImageFile.path,
      ]);
    }
  } catch (e) {
    debugPrint("genPdfCover: ${e.toString()}");
  }
}