mergeFiles static method
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);
}