mergeFiles static method

Future<Uint8List> mergeFiles(
  1. List<XFile> files
)

Implementation

static Future<Uint8List> mergeFiles(List<XFile> files) async {
PdfDocument newDocument = PdfDocument();
newDocument.pageSettings.setMargins(0);
const Size standardPageSize = PdfPageSize.a4;
for (XFile file in files) {
  final bytes = await file.readAsBytes();
  PdfDocument loadedDocument = PdfDocument(inputBytes: bytes);
  for (int i = 0; i < loadedDocument.pages.count; i++) {
    PdfPage page = newDocument.pages.add();
    PdfTemplate template = loadedDocument.pages[i].createTemplate();
    final Size pageSize = loadedDocument.pages[i].size;
    debugPrint("Page Size $pageSize");
    page.graphics.drawPdfTemplate(template, Offset.zero, standardPageSize);
  }
  loadedDocument.dispose();
}

final mergedBytes = await newDocument.save();
newDocument.dispose();
return Uint8List.fromList(mergedBytes);
}