Skip to content

Commit 93f9b4c

Browse files
committed
v2.4.3
1 parent f2c88e1 commit 93f9b4c

File tree

20 files changed

+146
-55
lines changed

20 files changed

+146
-55
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 2.4.3
2+
1. Added the features support for ComPDFKit PDF SDK for iOS V2.4.3.
3+
2. Added the features support for ComPDFKit PDF SDK for Android V2.4.3.
4+
3. Fixed a crash issue when exporting annotation files in certain documents
5+
4. Fixed an issue where selecting an annotation would unexpectedly switch the current drawing annotation type
6+
5. Fixed an issue where deleted text content in some documents was not saved properly
7+
6. Optimized the flickering issue when jumping to a specific page
8+
7. Improved the page navigation logic during annotation undo and redo operations
9+
10+
111
## 2.4.1
212

313
1. Added the features support for ComPDFKit PDF SDK for iOS V2.4.1.

README.md

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Alternatively you can update the `AndroidManifest.xml` file to use `FlutterFragm
154154
dependencies:
155155
flutter:
156156
sdk: flutter
157-
+ compdfkit_flutter: ^2.4.1
157+
+ compdfkit_flutter: ^2.4.3
158158
```
159159

160160
8. Add the PDF documents you want to display in the project
@@ -200,7 +200,7 @@ cd example
200200
dependencies:
201201
flutter:
202202
sdk: flutter
203-
+ compdfkit_flutter: ^2.4.1
203+
+ compdfkit_flutter: ^2.4.3
204204
```
205205

206206
4. Open your project's Podfile in a text editor:
@@ -223,8 +223,8 @@ open ios/Podfile
223223
use_modular_headers!`
224224

225225
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
226-
+ pod "ComPDFKit", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.1/ComPDFKit.podspec'
227-
+ pod "ComPDFKit_Tools", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.1/ComPDFKit_Tools.podspec'
226+
+ pod "ComPDFKit", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.3/ComPDFKit.podspec'
227+
+ pod "ComPDFKit_Tools", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.3/ComPDFKit_Tools.podspec'
228228
end
229229
```
230230

@@ -301,9 +301,26 @@ ComPDFKit.initialize(androidOnlineLicense : 'your compdfkit key', iosOnlineLicen
301301
ComPDFKit.init('your compdfkit key');
302302
```
303303

304+
* **Initialize Using License XML File**:
305+
306+
```dart
307+
// Android
308+
// Copy the license_key_flutter.xml file into the assets directory of your Android project:
309+
ComPDFKit.initWithPath('assets://license_key_flutter.xml');
310+
311+
// iOS
312+
// Copy the license_key_flutter.xml file into your iOS project directory (or a readable location):
313+
ComPDFKit.initWithPath('license_key_flutter.xml');
314+
315+
// Include the license in Flutter assets and copy to device storage
316+
// Add `license_key_flutter.xml` to your Flutter project’s assets directory;
317+
File licenseFile = await extractAsset(context, 'assets/license_key_flutter.xml');
318+
ComPDFKit.initWithPath(licenseFile.path);
319+
```
320+
304321
**Example:**
305322

306-
```diff
323+
```dart
307324
import 'dart:io';
308325
309326
import 'package:compdfkit_flutter/compdfkit.dart';
@@ -333,11 +350,8 @@ class _MyAppState extends State<MyApp> {
333350
}
334351
335352
void _init() async {
336-
/// Please replace it with your ComPDFKit license
337-
+ ComPDFKit.initialize(androidOnlineLicense : 'your compdfkit key', iosOnlineLicense : 'your compdfkit key');
338-
339-
/// If you are using an offline certified license, please use init() method
340-
+ /// ComPDFKit.init('your compdfkit key')
353+
File licenseFile = await extractAsset(context, 'assets/license_key_flutter.xml');
354+
ComPDFKit.initWithPath(licenseFile.path);
341355
}
342356
343357
@override
@@ -387,11 +401,8 @@ class _MyAppState extends State<MyApp> {
387401
}
388402
389403
void _init() async {
390-
/// Please replace it with your ComPDFKit license
391-
ComPDFKit.initialize(androidOnlineLicense : 'your compdfkit key', iosOnlineLicense : 'your compdfkit key');
392-
393404
/// If you are using an offline certified license, please use init() method
394-
// ComPDFKit.init('your compdfkit key');
405+
ComPDFKit.init('your compdfkit key');
395406
}
396407
397408
@override
@@ -474,13 +485,8 @@ class _MyAppState extends State<MyApp> {
474485
}
475486
476487
void _init() async {
477-
/// Please replace it with your ComPDFKit license
478-
ComPDFKit.initialize(
479-
androidOnlineLicense: 'your compdfkit key',
480-
iosOnlineLicense: 'your compdfkit key');
481-
482488
/// If you are using an offline certified license, please use init() method
483-
// ComPDFKit.init('your compdfkit key');
489+
ComPDFKit.init('your compdfkit key');
484490
}
485491
486492
@override
@@ -559,8 +565,8 @@ target 'PDFView_RN' do
559565
# Pods for testing
560566
end
561567

562-
+ pod 'ComPDFKit', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.4.1'
563-
+ pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.4.1'
568+
+ pod 'ComPDFKit', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.4.3'
569+
+ pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.4.3'
564570

565571
# Enables Flipper.
566572
#

android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ android {
3939
compileOnly fileTree(include: ['*.jar','*.aar'], dir: 'libs')
4040

4141
// dependencies compdfkit pdf sdk
42-
api 'com.compdf:compdfkit-tools:2.4.1'
42+
api 'com.compdf:compdfkit-tools:2.4.3'
4343

4444
testImplementation 'junit:junit:4.13.2'
4545
testImplementation 'org.mockito:mockito-core:5.0.0'
@@ -59,5 +59,5 @@ android {
5959
}
6060
}
6161
// refresh snapshot implementation
62-
configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' }
62+
//configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' }
6363

android/src/main/java/com/compdfkit/flutter/compdfkit_flutter/constants/CPDFConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public static class ChannelMethod {
2525
*/
2626
public static final String INIT_SDK_KEYS = "init_sdk_keys";
2727

28+
public static final String INIT_SDK_WITH_PATH = "init_sdk_with_path";
29+
2830
/**
2931
* Get ComPDFKit SDK Version Code
3032
* Example: 2.0.0

android/src/main/java/com/compdfkit/flutter/compdfkit_flutter/plugin/CPDFDocumentPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import android.util.Log;
5454
import androidx.annotation.NonNull;
5555
import androidx.fragment.app.FragmentActivity;
56+
import com.bumptech.glide.Glide;
5657
import com.bumptech.glide.request.target.Target;
5758
import com.compdfkit.core.annotation.CPDFAnnotation;
5859
import com.compdfkit.core.common.CPDFDocumentException;
@@ -71,7 +72,6 @@
7172
import com.compdfkit.flutter.compdfkit_flutter.utils.FileUtils;
7273
import com.compdfkit.tools.annotation.pdfannotationlist.data.CPDFAnnotDatas;
7374
import com.compdfkit.tools.common.utils.CFileUtils;
74-
import com.compdfkit.tools.common.utils.glide.GlideApp;
7575
import com.compdfkit.tools.common.utils.print.CPDFPrintUtils;
7676
import com.compdfkit.tools.common.utils.threadpools.CThreadPoolUtils;
7777
import com.compdfkit.tools.common.utils.threadpools.SimpleBackgroundTask;
@@ -659,7 +659,7 @@ public Bitmap onRun() {
659659
return null;
660660
}else {
661661
try {
662-
Bitmap bitmap = GlideApp.with(context).asBitmap().load(imagePath).submit(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get();
662+
Bitmap bitmap = Glide.with(context).asBitmap().load(imagePath).submit(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get();
663663
return bitmap;
664664
}catch (Exception e){
665665
return null;

android/src/main/java/com/compdfkit/flutter/compdfkit_flutter/plugin/ComPDFKitSDKPlugin.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.GET_TEMP_DIRECTORY;
1515
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.INIT_SDK;
1616
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.INIT_SDK_KEYS;
17+
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.INIT_SDK_WITH_PATH;
1718
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.OPEN_DOCUMENT;
1819
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.PICK_FILE;
1920
import static com.compdfkit.flutter.compdfkit_flutter.constants.CPDFConstants.ChannelMethod.REMOVE_SIGN_FILE_LIST;
@@ -84,6 +85,13 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
8485
result.success(null);
8586
});
8687
break;
88+
case INIT_SDK_WITH_PATH:
89+
String xmlPath = (String) call.arguments;
90+
CPDFSdk.initWithPath(context, xmlPath, (verifyCode, verifyMsg) -> {
91+
Log.e("ComPDFKit-Plugin", "INIT_SDK: code:" + verifyCode + ", msg:" + verifyMsg);
92+
result.success(null);
93+
});
94+
break;
8795
case SDK_VERSION_CODE:
8896
result.success(CPDFSdk.getSDKVersion());
8997
break;

example/android/config.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ ext {
33
COMPILESDK: 33,
44
MINSDK: 21,
55
TARGETSDK: 33,
6-
VERSIONCODE: 17
6+
VERSIONCODE: 18
77
]
88
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<license version="1">
3+
<platform>android</platform>
4+
<id>com.compdfkit.viewer;com.compdfkit.annotations;com.compdfkit.contenteditor;com.compdfkit.forms;com.compdfkit.docseditor;com.compdfkit.digitalsignature;com.compdfkit.pdfviewer;com.compdfkit.samples;com.compdfkit.flutter.example;com.compdfkit.reactnative.example</id>
5+
<starttime>2025-06-24</starttime>
6+
<endtime>2026-06-24</endtime>
7+
<type>online</type>
8+
<purchasemodel>subscription</purchasemodel>
9+
<key>Njg1YTY4YzBjZGQ5ZA==</key>
10+
<secret>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</secret>
11+
</license>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<license version="1">
3+
<platform>ios</platform>
4+
<id>com.compdfkit.viewer;com.compdfkit.annotations;com.compdfkit.contenteditor;com.compdfkit.forms;com.compdfkit.docseditor;com.compdfkit.digitalsignature;com.compdfkit.pdfviewer;com.compdfkit.samples;com.compdfkit.flutter.example;com.compdfkit.reactnative.example</id>
5+
<starttime>2025-06-24</starttime>
6+
<endtime>2026-06-24</endtime>
7+
<type>online</type>
8+
<purchasemodel>subscription</purchasemodel>
9+
<key>Njg1YTY4YWI0ZjUyMA==</key>
10+
<secret>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</secret>
11+
</license>

example/ios/Podfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ flutter_ios_podfile_setup
3030
target 'Runner' do
3131
use_frameworks!
3232
use_modular_headers!
33-
pod "ComPDFKit", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.1/ComPDFKit.podspec'
34-
pod "ComPDFKit_Tools", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.1/ComPDFKit_Tools.podspec'
33+
pod "ComPDFKit", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.3/ComPDFKit.podspec'
34+
pod "ComPDFKit_Tools", podspec:'https://file.compdf.com/cocoapods/ios/compdfkit_pdf_sdk/2.4.3/ComPDFKit_Tools.podspec'
3535
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
3636
target 'RunnerTests' do
3737
inherit! :search_paths

0 commit comments

Comments
 (0)