createPDFFromMultipleImage static method
For Creating a PDF from multiple image paths is a list of paths, example List
Implementation
static Future<CreatePDFFromMultipleImageResponse> createPDFFromMultipleImage(
{required List<String> paths,
required String outputDirPath,
int? maxWidth,
int? maxHeight,
bool? needImageCompressor}) async {
final Map<String, dynamic> params = <String, dynamic>{
'paths': paths,
'outputDirPath': outputDirPath,
'needImageCompressor': needImageCompressor ?? true,
'maxWidth': maxWidth ?? 360,
'maxHeight': maxHeight ?? 360
};
if (paths.length == 0) {
createPDFFromMultipleImageResponse.value.status = Status.error;
createPDFFromMultipleImageResponse.value.message = Status.errorMessage;
} else {
try {
bool isImage = true;
for (int i = 0; i < paths.length; i++) {
if (!GetUtils.isImage(paths[i])) {
isImage = false;
}
}
if (!isImage) {
createPDFFromMultipleImageResponse.value.status = Status.error;
createPDFFromMultipleImageResponse.value.message =
Status.errorMessageImage;
} else {
final String? response =
await _channel.invokeMethod('createPDFFromMultipleImage', params);
if (response != "error") {
createPDFFromMultipleImageResponse.value.status = Status.success;
createPDFFromMultipleImageResponse.value.message =
Status.successMessage;
createPDFFromMultipleImageResponse.value.response = response;
} else {
createPDFFromMultipleImageResponse.value.status = Status.error;
createPDFFromMultipleImageResponse.value.message =
Status.errorMessage;
}
}
} on Exception catch (exception) {
createPDFFromMultipleImageResponse.value.status = Status.error;
createPDFFromMultipleImageResponse.value.message = exception.toString();
} catch (e) {
createPDFFromMultipleImageResponse.value.status = Status.error;
createPDFFromMultipleImageResponse.value.message = e.toString();
}
}
return createPDFFromMultipleImageResponse.value;
}