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;
}