Skip to content

Commit ac450a0

Browse files
committed
compdfkit(rn) - 2.2.2
1 parent 556356c commit ac450a0

File tree

21 files changed

+162
-127
lines changed

21 files changed

+162
-127
lines changed

API.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ Promise Parameters:
957957
const pageCount = await pdfReaderRef.current?._pdfDocument.getPageCount();
958958
```
959959
960-
####
960+
961961
962962
### Annotations
963963

CHANGELOG.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
11
## Newest Release
2+
### 2.2.2 - 19 Feb. 2025
3+
4+
* Added the features support for ComPDFKit PDF SDK for iOS iOS V2.2.2.
5+
6+
* Added the features support for ComPDFKit PDF SDK for Android Android V2.2.2.
7+
* Added the ability to save a watermark to the current PDF when adding it.
8+
* Fixed the inaccurate judgment issue in the `hasChange()` method.
9+
* Fixed an issue where some document text fields in forms were not displaying content.
10+
* Fixed an issue on the Android platform where Ink annotations became smaller after drawing.
11+
* Fixed an issue on the Android platform where the pen size shrank when drawing Ink annotations after zooming in on a page.
12+
* Fixed an input issue with the LaBan Key input method on the Android platform.
13+
* Fixed a potential crash issue on the Android platform when enabling the rotate function.
14+
* Fixed a crash issue on the Android platform when importing XFDF annotations.
15+
16+
17+
## Previous Release
218

319
### 2.2.1 - 21 Jan. 2025
420
* Added the features support for ComPDFKit PDF SDK for iOS [iOS V2.2.1](https://www.compdf.com/pdf-sdk/changelog-ios#v2-2-1).
@@ -19,9 +35,8 @@
1935
* Fixed an issue on Android where form background color was transparent when highlighting forms was not enabled.
2036
* Fixed an issue on Android where annotation text would display incorrectly when editing text in highlighted comment areas.
2137
* Fixed an issue on Android where cloud comment borders were displayed incorrectly in graphic annotations.
22-
For detailed information about the new interfaces, please refer to `CPDFReaderView.tsx` and `CPDFDocument.tsx`.
38+
For detailed information about the new interfaces, please refer to `CPDFReaderView.tsx` and `CPDFDocument.tsx`.
2339

24-
## Previous Release
2540

2641
### 2.2.0 - 13 Dec. 2024
2742
* Added features support for ComPDFKit PDF SDK for [Android V2.2.0](https://www.compdf.com/pdf-sdk/changelog-android#v2-2-0).

CONFIGURATION.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -784,10 +784,11 @@ This section is used to configure the types of forms enabled in the view's botto
784784

785785
##### Parameters
786786

787-
| Name | Type | Example | Description |
788-
| ----------------------- | ------------- | ------- | ------------------------------------------------------------ |
789-
| themeMode | CPDFThemeMode | light | Set the view theme style, support `light`, `dark`, `system`, the default is `light` theme<br />**ComPDFKit SDK for Flutter:** => 2.0.2<br />Only Android Platform. |
790-
| fileSaveExtraFontSubset | boolean | true | When saving a document, whether to save the used font set together with the document. |
787+
| Name | Type | Example | Description |
788+
| ----------------------- | ------------------- | ---------------------------- | ------------------------------------------------------------ |
789+
| themeMode | CPDFThemeMode | light | Set the view theme style, support `light`, `dark`, `system`, the default is `light` theme<br />**ComPDFKit SDK for Flutter:** => 2.0.2<br />Only Android Platform. |
790+
| fileSaveExtraFontSubset | boolean | true | When saving a document, whether to save the used font set together with the document. |
791+
| watermark | CPDFWatermarkConfig | { "saveAsNewFile" : true } | The user can configure the watermark addition popup, allowing them to choose whether to save the watermark directly to the current document or save it to a different directory.<br>**true**: Save to a different directory<br>**false**: Add to the current document directly |
791792

792793
##### themeMode Constants
793794

@@ -1066,7 +1067,10 @@ This section is used to configure the types of forms enabled in the view's botto
10661067
},
10671068
"global" : {
10681069
"themeMode" : "system",
1069-
"fileSaveExtraFontSubset" : true
1070+
"fileSaveExtraFontSubset" : true,
1071+
"watermark": {
1072+
"saveAsNewFile" : true
1073+
}
10701074
}
10711075
}
10721076
```

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ open ios/Podfile
115115
```diff
116116
target 'MyApp' do
117117
# ...
118-
+ pod "ComPDFKit", podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit/2.2.1.podspec'
119-
+ pod "ComPDFKit_Tools", podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit_tools/2.2.1.podspec'
118+
+ pod "ComPDFKit", podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit/2.2.2.podspec'
119+
+ pod "ComPDFKit_Tools", podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit_tools/2.2.2.podspec'
120120
# ...
121121
end
122122
```
@@ -126,8 +126,8 @@ end
126126
```diff
127127
target 'MyApp' do
128128
# ...
129-
+ pod 'ComPDFKit', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.2.1'
130-
+ pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.2.1'
129+
+ pod 'ComPDFKit', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.2.2'
130+
+ pod 'ComPDFKit_Tools', :git => 'https://github.com/ComPDFKit/compdfkit-pdf-sdk-ios-swift.git', :tag => '2.2.2'
131131
# ...
132132
end
133133
```

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ dependencies {
8686
compileOnly fileTree(include: ['*.jar','*.aar'], dir: 'libs')
8787
implementation "com.facebook.react:react-native:+"
8888

89-
api "com.compdf:compdfkit-tools:2.2.1"
89+
api "com.compdf:compdfkit-tools:2.2.2"
9090
api 'com.github.bumptech.glide:glide:4.15.1'
9191
annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'
9292
api 'androidx.documentfile:documentfile:1.0.1'

android/src/main/java/com/compdfkitpdf/reactnative/modules/CPDFViewModule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,9 +322,9 @@ public void showBotaView(int tag){
322322
}
323323

324324
@ReactMethod
325-
public void showAddWatermarkView(int tag){
325+
public void showAddWatermarkView(int tag, boolean saveAsNewFile){
326326
uiBlock(nativeViewHierarchyManager -> {
327-
mPDFViewInstance.showAddWatermarkView(tag);
327+
mPDFViewInstance.showAddWatermarkView(tag, saveAsNewFile);
328328
});
329329
}
330330

android/src/main/java/com/compdfkitpdf/reactnative/viewmanager/CPDFViewManager.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.compdfkit.tools.common.pdf.CPDFConfigurationUtils;
3535
import com.compdfkit.tools.common.pdf.config.CPDFConfiguration;
3636
import com.compdfkit.tools.common.utils.CFileUtils;
37+
import com.compdfkit.tools.common.utils.print.CPDFPrintUtils;
3738
import com.compdfkit.tools.common.utils.threadpools.CThreadPoolUtils;
3839
import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
3940
import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
@@ -45,6 +46,7 @@
4546
import com.compdfkitpdf.reactnative.view.CPDFView;
4647
import com.facebook.react.bridge.Promise;
4748
import com.facebook.react.bridge.ReactApplicationContext;
49+
import com.facebook.react.bridge.ReactMethod;
4850
import com.facebook.react.uimanager.ThemedReactContext;
4951
import com.facebook.react.uimanager.ViewGroupManager;
5052
import com.facebook.react.uimanager.annotations.ReactProp;
@@ -367,9 +369,9 @@ public void showBotaView(int tag) {
367369
pdfView.documentFragment.showBOTA();
368370
}
369371

370-
public void showAddWatermarkView(int tag) {
372+
public void showAddWatermarkView(int tag, boolean saveAsNewFile) {
371373
CPDFView pdfView = mDocumentViews.get(tag);
372-
pdfView.documentFragment.showAddWatermarkDialog();
374+
pdfView.documentFragment.showAddWatermarkDialog(saveAsNewFile);
373375
}
374376

375377
public void showSecurityView(int tag) {
@@ -476,11 +478,11 @@ public void saveAs(int tag, String savePath, boolean removeSecurity, boolean fon
476478
}
477479

478480
public void print(int tag) {
479-
CPDFView pdfView = mDocumentViews.get(tag);
480-
CPDFReaderView readerView = pdfView.getCPDFReaderView();
481-
String path = readerView.getPDFDocument().getAbsolutePath();
482-
Uri uri = readerView.getPDFDocument().getUri();
483-
CFileUtils.startPrint(reactContext, path, uri);
481+
if (reactContext.getCurrentActivity() != null) {
482+
CPDFView pdfView = mDocumentViews.get(tag);
483+
CPDFReaderView readerView = pdfView.getCPDFReaderView();
484+
CPDFPrintUtils.printCurrentDocument(reactContext.getCurrentActivity(), readerView.getPDFDocument());
485+
}
484486
}
485487

486488
public void removePassword(int tag, Promise promise) {
@@ -510,7 +512,6 @@ public void setPassword(int tag,
510512
Promise promise) {
511513
CPDFView pdfView = mDocumentViews.get(tag);
512514
CPDFDocument document = pdfView.getCPDFReaderView().getPDFDocument();
513-
;
514515
CThreadPoolUtils.getInstance().executeIO(() -> {
515516
try {
516517
if (!TextUtils.isEmpty(userPassword)) {

example/App.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import CPDFReaderViewControllerExampleScreen from './src/CPDFReaderViewControlle
2121
import CPDFAnnotationsExampleScreen from './src/CPDFAnnotationsExample';
2222
import CPDFSecurityExampleScreen from './src/CPDFSecurityExample';
2323

24-
const androidLicense = 'vWG81pDfg5Ojm9ycyAHoBf6Qb/yT4YuLPM521RVvGf8yhKFjx+KH12mgD+E64Snkacdj2aqW8P3Uk9kEjk9OfgvHtozTmo+zqbVIygogMpz9RvhZO/IdEE3jhQWkISSI+N2D2XyGtu1M8o2mLpceugjCrTphVTMW1tBNIFAlynGyIVXu5+2konU4Hh9V9nJtQzpGD2Ew1VWvcklNST1e2UgTaTa+C5fkHpc3vC9PlPj3wTMxORp6BGqdj45SV3G4N0PuCG5V4B1laeQbsAAIY1SKzY1fCE7G7iJCGJ8dJoZ5n6PzHVn1BkXR6UdsI9x1fw+ckJsStMpgWHAeLX9GTmu0lH1oY17eVN2TRW5amzrVRSqpTOyx2LGvW1Ilra90nzlp2dEBHH+rU3Jo93jy94eWecFWMwgKBD5sABvhJFteiZTpP6NufkmmJm5UhS1bbWwQ3416ecpKs8D9TAlLLO+rbIocuxdoPE2dxWFYLq6zF8kJV3z7dKYtAwQKdoQiS08ryGXVZybCx2GjZp97I7zNemiorRWKQUrxpNk0vCLwL1yz7NzjlB6YQ8UxvmTkX/GU7T7Ubg9LoyZuVo4tLHLplMSlHIcA4guqZL7JbQ6/jomhcJGFpGo+X7tbrCvMTnbvjZoxJRlcNN1+9x100WEfF4A2XbJZEjcpxV9tk1rTt+jS8dkX803ij16yHI1THSycP2aKkWjgDAsAUt98KCUHLaZi4F73ifo4l7JQoj0MxqN2wuiDb2PRCz4539YtkdVIZEXZTwWHfrGGmBtk3eTjulgN6KX4N8Zl8HTm1QDd0eY4XLXdZrWhe9nc1DGvLY1gsBg7f03Pf+Ch9WtB1I5hPMBVEyy26KZtF484aCb9XagMRnF+iot0GttPzd+uPWA4icpbsc75X0fCRahxJTWAXtYCUc/pCTm54v24bIoq3Zxj1lx7tKDtad8Ou3diwfFGTMtsMs+ga7i5gUny3WSd1idswHBlZEZh4+h7L6QgFnxa20xs3LwkoQTfhr6nZgjh0SZri4haYRMpOBtGEdSntVKJv2Vka7yk0uAGQ9GincrC/EqOa0HVmqcVvf3E3S6Mb4qT4xeOVeKWTCeJpKWznHb57bcaXEe18jn7YpE2l1oio78O3ElTVCvjufcILgQ8c4Bt5yXCNSZoIQsS3ge+rhLMiBMMhVVVZQm05qf1ku8hc0JT8C2n1OAx6ouQRTvhnA9CqXO+obtoFKSODA==';
24+
const androidLicense = 'rbbJE34FnGSu19mumutDtH/JnZhGG/F6seFnRkRsptiPhTZhNJOzf51sCT12LQ156NyvXbTeAyPG0OjCqApqvQc6DWibQP8onZSn/sUb6BBAlbx+t4+7MCivLFhFFIpVq591KeYsrLJrvaZKDqVBYVpy7BHvTSgyLs3+NgQaWFJRQsRmUsyu45BZDXA2wY+IZp+JwQM2/SF/WqulTugytbdep2zBlvPoBKQRGNlcTa2dRTbZaR5OMh6yqOCPcEVFA5GXzynDoz4MOLZsEs8i5ia5k6LuzDWLcdBvALMyQqWOahVsg7lnGGuV8pKWva9JO6l/ID5e3mMDDTS+kF3g6mu0lH1oY17eVN2TRW5amzrVRSqpTOyx2LGvW1Ilra90nzlp2dEBHH+rU3Jo93jy94eWecFWMwgKBD5sABvhJFteiZTpP6NufkmmJm5UhS1bbWwQ3416ecpKs8D9TAlLLO+rbIocuxdoPE2dxWFYLq6zF8kJV3z7dKYtAwQKdoQiS08ryGXVZybCx2GjZp97I7zNemiorRWKQUrxpNk0vCLwL1yz7NzjlB6YQ8UxvmTkX/GU7T7Ubg9LoyZuVo4tLHLplMSlHIcA4guqZL7JbQ6/jomhcJGFpGo+X7tbrCvMTnbvjZoxJRlcNN1+9x100WEfF4A2XbJZEjcpxV9tk1rTt+jS8dkX803ij16yHI1THSycP2aKkWjgDAsAUt98KL+h4U+jgXH+NDKksS1nHNj/D5gUzVZb9YIL3msCOLra4rzx64xPkJIcG6OXS1I7ASw3WWaEyJI4QKz6HXbZVHElJx5uuHIhpDNpBfXjax9kTT1Mzoph8Erom3hpRQDJSC2kvsKCucB2mdJLA7WTQ9Dq5pRmWXKTD/ai5zNtuN7pC8yRr9oKkPeGPYIjBPgWARDCEIZ7Rf9+/RTkZdbGHfll7zGmrsqVrVuYKYpSwbyNgiXJYToIyivs4+KgV2p+F7tt51Noj0WSS2ElzuLDGBt30KBnZPmMtd+2b8DUWw/52swmGAQwiAvmwIXS7p/3qNnMOP0anG+yUppiVnRlTB8fA11CjAWlPcYHpNU0Rne3ByvR3dptlknz9cdRS0IBFgtdeLznIunz3Fy/mdGGKU5mRPfGllKeWrZUHA7apS2GPE8xv7A9FrUFMFzWJLqFIHzaC1MQ3kkvme60gCvofx8BiQipXClbzvo7TI5qTVVozCXZF48sRJQbUOelPyjSCwBU35tqO2nPB0yHmCnEk+O4mPrM4DEwHsRi9KaXrnj9';
2525

26-
const iosLicense = '6Z+bqN9RVWKMekb+VATJoknfdaJFIJil/sGapkJiTBLy6krla9+e2/hcOm2FZgaFXNOr8B+z8D4xOpr3ya3tlv1LpLZ8fwZlNJ5S1rXvyJAzJ3vr8IqMsFc15llOSWVDW7KulaM6dChhiICg+oLXSQUG4AC3U/tVxuwgcYLDfuXwM2uYUmSNSPpkXQdLNxSC9S+/UdCnYOdkJqq3BfwMeh4D/isBIe0oy1XGXMclcl+cSAHrXGevk4RU8zMfrisCnw4NdpumXfE3HgOEtyShkJ2mtX1LgmHCxr3zzQ7gSIWRuRrQRwJOekhZSAG9t2SBIi7vth9si8h8vn4wlMmx3Gu0lH1oY17eVN2TRW5amzrVRSqpTOyx2LGvW1Ilra90nzlp2dEBHH+rU3Jo93jy94eWecFWMwgKBD5sABvhJFteiZTpP6NufkmmJm5UhS1bbWwQ3416ecpKs8D9TAlLLO+rbIocuxdoPE2dxWFYLq6zF8kJV3z7dKYtAwQKdoQiS08ryGXVZybCx2GjZp97I7zNemiorRWKQUrxpNk0vCLwL1yz7NzjlB6YQ8UxvmTkX/GU7T7Ubg9LoyZuVo4tLHLplMSlHIcA4guqZL7JbQ6/jomhcJGFpGo+X7tbrCvMTnbvjZoxJRlcNN1+9x100WEfF4A2XbJZEjcpxV9tk1rTt+jS8dkX803ij16yHI1THSycP2aKkWjgDAsAUt98KCUHLaZi4F73ifo4l7JQoj2iW5vEiAxKL+Hs+L5PEV11ApZ1vdeZH2OjP2tm5Ddn1vUmrLCNlLs0O2/IIy+lJgWBx0neeYkWPlBX+cpZqBFqttUw34GKCdD7Ed5hoEK8BEdlZO66GHu+Cfr8i48R7iCpdNebl1Y7vyblOeeaHHodyIfzI2P6fYnkslsauXi2UqzcCeiRYaOnUw5xt9GzcvAfka8jMwHf9mpSHCRl1zjON4QIyuPQwC15J0slX1znUiPWN791kjTcd3M6eXNLGpxOsn1ByOPf5QfMdgOIFS9L9sd5cWpEutbA4EXL3ij99ZnAuGjOq2PAG7zfpr8bwl9X1wS07eUU9V4eJlfv33bE5rh/6wxjUk1eS3DWU8y/0zXHoYH21F/G8NWar9g6J6J3E8GryCQaQbuznJWzNZcwPF4VW9PEI6i9ZQQjHSQQQhiDdcco7ZU83kyn+9FUk7Tpn6mczkbeB5HMVSYBz9gej5bELGvHg0jiXnjI6mVpIQ==';
26+
const iosLicense = 'rbbJE34FnGSu19mumutDtH/JnZhGG/F6seFnRkRsptiPhTZhNJOzf51sCT12LQ156NyvXbTeAyPG0OjCqApqvQc6DWibQP8onZSn/sUb6BBAlbx+t4+7MCivLFhFFIpVq591KeYsrLJrvaZKDqVBYVpy7BHvTSgyLs3+NgQaWFJRQsRmUsyu45BZDXA2wY+IZp+JwQM2/SF/WqulTugytbdep2zBlvPoBKQRGNlcTa2dRTbZaR5OMh6yqOCPcEVFA5GXzynDoz4MOLZsEs8i5ia5k6LuzDWLcdBvALMyQqWOahVsg7lnGGuV8pKWva9JO6l/ID5e3mMDDTS+kF3g6mu0lH1oY17eVN2TRW5amzrVRSqpTOyx2LGvW1Ilra90nzlp2dEBHH+rU3Jo93jy94eWecFWMwgKBD5sABvhJFteiZTpP6NufkmmJm5UhS1bbWwQ3416ecpKs8D9TAlLLO+rbIocuxdoPE2dxWFYLq6zF8kJV3z7dKYtAwQKdoQiS08ryGXVZybCx2GjZp97I7zNemiorRWKQUrxpNk0vCLwL1yz7NzjlB6YQ8UxvmTkX/GU7T7Ubg9LoyZuVo4tLHLplMSlHIcA4guqZL7JbQ6/jomhcJGFpGo+X7tbrCvMTnbvjZoxJRlcNN1+9x100WEfF4A2XbJZEjcpxV9tk1rTt+jS8dkX803ij16yHI1THSycP2aKkWjgDAsAUt98KL+h4U+jgXH+NDKksS1nHNj/D5gUzVZb9YIL3msCOLra4rzx64xPkJIcG6OXS1I7ASw3WWaEyJI4QKz6HXbZVHElJx5uuHIhpDNpBfXjax9kTT1Mzoph8Erom3hpRQDJSC2kvsKCucB2mdJLA7WTQ9Dq5pRmWXKTD/ai5zNtuN7pC8yRr9oKkPeGPYIjBPgWARDCEIZ7Rf9+/RTkZdbGHfll7zGmrsqVrVuYKYpSwbyNgiXJYToIyivs4+KgV2p+F7tt51Noj0WSS2ElzuLDGBt30KBnZPmMtd+2b8DUWw/52swmGAQwiAvmwIXS7p/3qNnMOP0anG+yUppiVnRlTB8fA11CjAWlPcYHpNU0Rne3ByvR3dptlknz9cdRS0IBFgtdeLznIunz3Fy/mdGGKU5mRPfGllKeWrZUHA7apS2GPE8xv7A9FrUFMFzWJLqFIHzaC1MQ3kkvme60gCvofx8BiQipXClbzvo7TI5qTVVozCXZF48sRJQbUOelPyjSCwBU35tqO2nPB0yHmCnEk+O4mPrM4DEwHsRi9KaXrnj9';
2727

2828
const Stack = createNativeStackNavigator();
2929

0 commit comments

Comments
 (0)