|
@@ -1,3 +1,15 @@
|
|
|
+/**
|
|
|
+ * ConvertUtils.kt
|
|
|
+ *
|
|
|
+ * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
|
|
|
+ *
|
|
|
+ * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
|
|
|
+ * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
|
|
|
+ * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
|
|
|
+ * This notice may not be removed from this file.
|
|
|
+ **/
|
|
|
+
|
|
|
+
|
|
|
package com.compdfkit.conversion.flutter.plugin.utils
|
|
|
|
|
|
import android.content.Context
|
|
@@ -10,26 +22,19 @@ import com.compdfkit.conversion.flutter.plugin.ConvertFlutterPlugin.Companion.PA
|
|
|
import com.compdfkit.conversion.flutter.plugin.ConvertFlutterPlugin.Companion.PARAMS_IMAGE_PAGE_OPTIONS
|
|
|
import com.compdfkit.conversion.flutter.plugin.ConvertFlutterPlugin.Companion.PARAMS_MERGE_CSV
|
|
|
import com.compdfkit.conversion.flutter.plugin.ConvertFlutterPlugin.Companion.PARAMS_WORK_SHEET_OPTIONS
|
|
|
-import com.compdfkit.conversion.flutter.kmpdfkit_demo.ConvertType
|
|
|
+import com.compdfkit.conversion.flutter.plugin.ConvertType
|
|
|
|
|
|
-/**
|
|
|
- * ConvertUtils.kt
|
|
|
- *
|
|
|
- * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
|
|
|
- *
|
|
|
- * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
|
|
|
- * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
|
|
|
- * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
|
|
|
- * This notice may not be removed from this file.
|
|
|
- **/
|
|
|
-class ConvertUtils {
|
|
|
|
|
|
+class ConvertUtils {
|
|
|
|
|
|
var cPDFConvert: CPDFConverter? = null
|
|
|
|
|
|
fun onConvert(
|
|
|
context: Context,
|
|
|
+ fileName: String,
|
|
|
+ password: String,
|
|
|
filePath: String,
|
|
|
+ outputDir: String,
|
|
|
convertType: String,
|
|
|
pageArrays: IntArray? = null,
|
|
|
params: CPDFConvertOptions,
|
|
@@ -37,54 +42,60 @@ class ConvertUtils {
|
|
|
onProgress: ((current: Int, total: Int) -> Unit)? = null,
|
|
|
onPost: ((code: ConvertError, outFilePath: String?) -> Unit)? = null
|
|
|
): ConvertError {
|
|
|
- val outputDir = FileUtils.getOutputFilePath(context)
|
|
|
-
|
|
|
val uri = FileUtils.onGetUriBySystem(context, filePath) ?: return ConvertError.ERR_FILE
|
|
|
return when (ConvertType.valueOf(convertType.uppercase())) {
|
|
|
- ConvertType.PPT -> CPDFConverterPPT(context, uri, "")
|
|
|
+ ConvertType.PPT -> CPDFConverterPPT(context, uri, password)
|
|
|
.run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.WORD -> CPDFConverterWord(context, uri, "")
|
|
|
+
|
|
|
+ ConvertType.WORD -> CPDFConverterWord(context, uri, password)
|
|
|
.run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params as CPDFConvertWordOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params as CPDFConvertWordOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.EXCEL -> CPDFConverterExcel(context, uri, "")
|
|
|
+
|
|
|
+ ConvertType.EXCEL -> CPDFConverterExcel(context, uri, password)
|
|
|
.run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params as CPDFConvertExcelOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params as CPDFConvertExcelOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.TXT -> CPDFConverterTxt(context, uri, "")
|
|
|
+
|
|
|
+ ConvertType.TXT -> CPDFConverterTxt(context, uri, password)
|
|
|
.run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params as CPDFConvertTxtOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params as CPDFConvertTxtOptions, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.IMAGE -> CPDFConverterImg(context, uri, "").run {
|
|
|
+
|
|
|
+ ConvertType.IMAGE -> CPDFConverterImg(context, uri, password).run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.CSV -> CPDFConverterCsv(context, uri, "").run {
|
|
|
+
|
|
|
+ ConvertType.CSV -> CPDFConverterCsv(context, uri, password).run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.RTF -> CPDFConverterRtf(context, uri, "").run {
|
|
|
+
|
|
|
+ ConvertType.RTF -> CPDFConverterRtf(context, uri, password).run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
- ConvertType.HTML -> CPDFConverterHtml(context, uri, "").run {
|
|
|
+
|
|
|
+ ConvertType.HTML -> CPDFConverterHtml(context, uri, password).run {
|
|
|
cPDFConvert = this
|
|
|
- convert(outputDir, "", params, pageArrays, onHandle, onProgress, onPost)
|
|
|
+ convert(outputDir, fileName, params, pageArrays, onHandle, onProgress, onPost)
|
|
|
}
|
|
|
+
|
|
|
else -> ConvertError.ERR_UNKNOWN
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
fun getConvertOptions(convertType: String, optionsMap: Map<String, Any>): CPDFConvertOptions {
|
|
|
val isContainImages = optionsMap[PARAMS_CONTAIN_IMAGES] as? Boolean ?: true
|
|
|
val isContainAnnotation = optionsMap[PARAMS_CONTAIN_ANNOTATIONS] as? Boolean ?: true
|
|
|
-
|
|
|
return when (ConvertType.valueOf(convertType.uppercase())) {
|
|
|
ConvertType.PPT -> CPDFConvertPPTOptions().also {
|
|
|
it.isContainImages = isContainImages
|
|
@@ -102,7 +113,6 @@ class ConvertUtils {
|
|
|
it.workSheetOptions = workSheetOptions
|
|
|
it.contentOptions = contentOptions
|
|
|
}
|
|
|
-
|
|
|
ConvertType.TXT -> CPDFConvertTxtOptions()
|
|
|
ConvertType.IMAGE -> CPDFConvertImgOptions().also {
|
|
|
val imageDpi = optionsMap[PARAMS_IMAGE_DPI] as? Number
|
|
@@ -129,7 +139,7 @@ class ConvertUtils {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- fun cancel(){
|
|
|
+ fun cancel() {
|
|
|
cPDFConvert?.cancle()
|
|
|
}
|
|
|
|