Bläddra i källkod

Merge branch 'compdfkit_demo_android_2.0.3' into compdfkit_demo_android

# Conflicts:
#	ComPDFKit_Repo/compdfkit-ui/ComPDFKit-UI.aar
#	ComPDFKit_Repo/compdfkit/ComPDFKit.aar
#	ComPDFKit_Tools/build.gradle
#	ComPDFKit_Tools/src/main/res/values-zh-rCN/tools_strings.xml
liuxiaolong 7 månader sedan
förälder
incheckning
b38c00fbc0

+ 2 - 1
ComPDFKit_Tools/src/main/assets/tools_default_configuration.json

@@ -35,7 +35,8 @@
       "security",
       "flattened",
       "share",
-      "openDocument"
+      "openDocument",
+      "snip"
     ]
   },
   "annotationsConfig": {

+ 4 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/basic/fragment/CBasicPDFFragment.java

@@ -27,6 +27,7 @@ import com.compdfkit.tools.annotation.pdfproperties.pdfnote.CPDFtextAnnotImpl;
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
 import com.compdfkit.tools.common.contextmenu.impl.CEditImageContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CEditTextContextMenuView;
+import com.compdfkit.tools.common.contextmenu.impl.CScreenShotContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CSearchReplaceContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CSignatureContextMenuView;
 import com.compdfkit.tools.common.pdf.config.CPDFConfiguration;
@@ -60,6 +61,7 @@ public class CBasicPDFFragment extends CPermissionFragment {
                 pdfView.getCPdfReaderView().setContextMenuShowListener(
                         new CPDFContextMenuHelper.Builder()
                                 .setSelectContentMenu(new CopyContextMenuView())
+                                .setScreenShotContextMenu(new CScreenShotContextMenuView())
                                 .create(pdfView));
                 break;
             case Annotation:
@@ -73,6 +75,7 @@ public class CBasicPDFFragment extends CPermissionFragment {
                                 .setEditTextContentMenu(new CEditTextContextMenuView())
                                 .setEditImageContentMenu(new CEditImageContextMenuView())
                                 .setSearchReplaceContextMenu(new CSearchReplaceContextMenuView())
+                                .setScreenShotContextMenu(new CScreenShotContextMenuView())
                                 .create(pdfView));
                 break;
             case Form:
@@ -85,6 +88,7 @@ public class CBasicPDFFragment extends CPermissionFragment {
                 pdfView.getCPdfReaderView().setContextMenuShowListener(
                         new CPDFContextMenuHelper.Builder()
                                 .setSignatureContextMenu(new CSignatureContextMenuView())
+                                .setScreenShotContextMenu(new CScreenShotContextMenuView())
                                 .create(pdfView));
                 break;
             default:

+ 18 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/contextmenu/CPDFContextMenuHelper.java

@@ -9,6 +9,7 @@
 
 package com.compdfkit.tools.common.contextmenu;
 
+import android.graphics.Bitmap;
 import android.graphics.PointF;
 import android.graphics.RectF;
 import android.os.Bundle;
@@ -32,6 +33,7 @@ import com.compdfkit.tools.common.contextmenu.impl.CLongPressContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CMarkupContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CPushButtonContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CRadioButtonContextMenuView;
+import com.compdfkit.tools.common.contextmenu.impl.CScreenShotContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CSearchReplaceContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CSelectContentContextMenuView;
 import com.compdfkit.tools.common.contextmenu.impl.CShapeContextMenuView;
@@ -52,6 +54,7 @@ import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuListBoxProvi
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuLongPressProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuMarkupProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuRadioButtonProvider;
+import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuScreenShotProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuSearchReplaceProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuSelectContentProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuSoundContentProvider;
@@ -292,6 +295,14 @@ public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
         return super.getSearchReplaceContentView(cpdfPageView, layoutInflater);
     }
 
+    @Override
+    public View getScreenShotContentView(CPDFPageView cpdfPageView, LayoutInflater layoutInflater, RectF rectF) {
+        if (helperParams.screenShotProvider != null){
+            return helperParams.screenShotProvider.getScreenShotContentView(this, cpdfPageView, layoutInflater, rectF);
+        }
+        return super.getScreenShotContentView(cpdfPageView, layoutInflater, rectF);
+    }
+
     @Override
     public void dismissContextMenu() {
         if (popupWindow != null) {
@@ -460,6 +471,11 @@ public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
             return this;
         }
 
+        public Builder setScreenShotContextMenu(ContextMenuScreenShotProvider screenShotProvider){
+            this.params.screenShotProvider = screenShotProvider;
+            return this;
+        }
+
         public CPDFContextMenuHelper create(CPDFViewCtrl pdfView){
             return new CPDFContextMenuHelper(pdfView, params);
         }
@@ -475,6 +491,7 @@ public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
             params.stampProvider = new CStampContextMenuView();
             params.linkProvider = new CLinkContextMenuView();
             params.searchReplaceProvider = new CSearchReplaceContextMenuView();
+            params.screenShotProvider = new CScreenShotContextMenuView();
             return this;
         }
 
@@ -487,6 +504,7 @@ public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
             params.formSignatureProvider = new CSignatureContextMenuView();
             params.pushButtonProvider = new CPushButtonContextMenuView();
             params.selectContentProvider = new CopyContextMenuView();
+            params.screenShotProvider = new CScreenShotContextMenuView();
             return this;
         }
     }

+ 3 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/contextmenu/ContextMenuProviderParams.java

@@ -24,6 +24,7 @@ import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuLongPressPro
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuMarkupProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuPushButtonProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuRadioButtonProvider;
+import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuScreenShotProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuSearchReplaceProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuSelectContentProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuShapeProvider;
@@ -70,4 +71,6 @@ class ContextMenuProviderParams {
     public ContextMenuPushButtonProvider pushButtonProvider;
 
     public ContextMenuSearchReplaceProvider searchReplaceProvider;
+
+    public ContextMenuScreenShotProvider screenShotProvider;
 }

+ 93 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/contextmenu/impl/CScreenShotContextMenuView.java

@@ -0,0 +1,93 @@
+/**
+ * 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.tools.common.contextmenu.impl;
+
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.RectF;
+import android.view.LayoutInflater;
+import android.view.View;
+
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.bumptech.glide.Glide;
+import com.compdfkit.core.edit.CPDFEditManager;
+import com.compdfkit.core.edit.CPDFEditPage;
+import com.compdfkit.core.page.CPDFPage;
+import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
+import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuScreenShotProvider;
+import com.compdfkit.tools.common.contextmenu.provider.ContextMenuView;
+import com.compdfkit.tools.common.pdf.CPDFDocumentFragment;
+import com.compdfkit.tools.common.utils.CFileUtils;
+import com.compdfkit.tools.common.utils.CLog;
+import com.compdfkit.tools.common.utils.date.CDateUtil;
+import com.compdfkit.tools.common.utils.image.CImageUtil;
+import com.compdfkit.ui.reader.CPDFPageView;
+import com.compdfkit.ui.reader.CPDFReaderView;
+
+import java.io.File;
+
+public class CScreenShotContextMenuView implements ContextMenuScreenShotProvider {
+
+
+    @Override
+    public View getScreenShotContentView(CPDFContextMenuHelper helper, CPDFPageView pageView, LayoutInflater inflater, RectF rectF) {
+        ContextMenuView menuView = new ContextMenuView(pageView.getContext());
+        menuView.addItem(R.string.tools_exit, v -> {
+            exitScreenShot(helper, pageView);
+        });
+        menuView.addItem(R.string.tools_share, v -> {
+            Bitmap bitmap = pageView.getScreenshotBitmap();
+            if (bitmap == null){
+                exitScreenShot(helper, pageView);
+                return;
+            }
+            String fileName = "screenshot_"+ CDateUtil.getDataTime(CDateUtil.NORMAL_DATE_FORMAT)+".png";
+            String screenShotFilePath = CImageUtil.saveBitmap(pageView.getContext(), fileName, pageView.getScreenshotBitmap());
+            CFileUtils.shareFile(menuView.getContext(), pageView.getContext().getString(R.string.tools_share), "image/*", new File(screenShotFilePath));
+            exitScreenShot(helper, pageView);
+        });
+        return menuView;
+    }
+
+    private void exitScreenShot(CPDFContextMenuHelper helper, CPDFPageView pageView){
+        pageView.clearScreenShotRect();
+        CPDFReaderView readerView = helper.getReaderView();
+        CPDFReaderView.ViewMode viewMode = readerView.getViewMode();
+        if(viewMode == CPDFReaderView.ViewMode.PDFEDIT){
+            readerView.setTouchMode(CPDFReaderView.TouchMode.EDIT);
+            CPDFEditManager editManager = readerView.getEditManager();
+            if (editManager != null && !editManager.isEditMode()) {
+                editManager.enable();
+                editManager.beginEdit(CPDFEditPage.LoadTextImage);
+            }
+        }else {
+            readerView.setTouchMode(CPDFReaderView.TouchMode.BROWSE);
+        }
+        helper.dismissContextMenu();
+        Context context = readerView.getContext();
+
+        if (context instanceof FragmentActivity){
+            FragmentActivity fragmentActivity = (FragmentActivity) context;
+            Fragment fragment = fragmentActivity.getSupportFragmentManager()
+                    .findFragmentByTag("documentFragment");
+            if (fragment != null && fragment instanceof  CPDFDocumentFragment){
+                CPDFDocumentFragment documentFragment = (CPDFDocumentFragment) fragment;
+                // Exit full screen mode
+                documentFragment.screenManager.fillScreenChange();
+            }
+        }
+    }
+
+}

+ 26 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuScreenShotProvider.java

@@ -0,0 +1,26 @@
+/**
+ * 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.tools.common.contextmenu.interfaces;
+
+
+import android.graphics.Bitmap;
+import android.graphics.RectF;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
+import com.compdfkit.ui.proxy.CPDFInkAnnotImpl;
+import com.compdfkit.ui.reader.CPDFPageView;
+
+public interface ContextMenuScreenShotProvider {
+
+    View getScreenShotContentView(CPDFContextMenuHelper helper, CPDFPageView pageView, LayoutInflater inflater, RectF rectF);
+
+}

+ 45 - 8
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/pdf/CPDFDocumentFragment.java

@@ -16,8 +16,8 @@ import static com.compdfkit.tools.contenteditor.CEditToolbar.SELECT_AREA_TEXT;
 
 import android.Manifest;
 import android.content.Context;
-import android.content.Intent;
 import android.content.res.Configuration;
+import android.graphics.Color;
 import android.graphics.Paint;
 import android.net.Uri;
 import android.os.Build;
@@ -41,6 +41,7 @@ import com.compdfkit.core.annotation.CPDFAnnotation;
 import com.compdfkit.core.annotation.CPDFFreetextAnnotation;
 import com.compdfkit.core.annotation.form.CPDFSignatureWidget;
 import com.compdfkit.core.document.CPDFDocument;
+import com.compdfkit.core.edit.CPDFEditConfig;
 import com.compdfkit.core.edit.CPDFEditManager;
 import com.compdfkit.core.edit.CPDFEditPage;
 import com.compdfkit.core.page.CPDFPage;
@@ -90,6 +91,7 @@ import com.compdfkit.ui.proxy.CPDFAnnotDefaultImpl;
 import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFListboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFPushbuttonWidgetImpl;
+import com.compdfkit.ui.reader.CPDFPageView;
 import com.compdfkit.ui.reader.CPDFReaderView;
 
 import java.io.File;
@@ -107,7 +109,7 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
 
     public static final String EXTRA_CONFIGURATION = "extra_configuration";
 
-    protected CSampleScreenManager screenManager = new CSampleScreenManager();
+    public CSampleScreenManager screenManager = new CSampleScreenManager();
 
     public ConstraintLayout clRoot;
 
@@ -281,6 +283,9 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
                 pdfSearchToolBarView.showSearchReplaceContextMenu();
                 return;
             }
+            if (pdfView.getCPdfReaderView().getTouchMode() == CPDFReaderView.TouchMode.SCREENSHOT){
+                return;
+            }
             if (!cpdfConfiguration.modeConfig.readerOnly){
                 //Use the CFillScreenManager.class to manage fullscreen switching.
                 screenManager.fillScreenChange();
@@ -315,8 +320,9 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
         if (pdfView.getCPdfReaderView() == null) {
             return;
         }
-        pdfView.getCPdfReaderView().removeAllAnnotFocus();
-        IContextMenuShowListener contextMenuShowListener = pdfView.getCPdfReaderView().getContextMenuShowListener();
+        CPDFReaderView readerView = pdfView.getCPdfReaderView();
+        readerView.removeAllAnnotFocus();
+        IContextMenuShowListener contextMenuShowListener = readerView.getContextMenuShowListener();
         if (contextMenuShowListener != null) {
             contextMenuShowListener.dismissContextMenu();
         }
@@ -326,17 +332,20 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
         signatureToolBar.reset();
         resetContextMenu(pdfView, mode);
         SignatureWidgetImpl.previewMode = mode;
-        CPDFEditManager editManager = pdfView.getCPdfReaderView().getEditManager();
+        CPDFEditManager editManager = readerView.getEditManager();
         if (mode == CPreviewMode.Edit) {
-            pdfView.getCPdfReaderView().setViewMode(CPDFReaderView.ViewMode.PDFEDIT);
+            readerView.setViewMode(CPDFReaderView.ViewMode.PDFEDIT);
             if (editManager != null && !editManager.isEditMode()) {
                 editManager.enable();
                 editManager.beginEdit(CPDFEditPage.LoadTextImage);
             }
         } else {
-            if (editManager != null && editManager.isEditMode()) {
-                editManager.endEdit();
+
+            if (readerView.getTouchMode() == CPDFReaderView.TouchMode.SCREENSHOT
+            && readerView.getViewMode() == CPDFReaderView.ViewMode.PDFEDIT){
+                readerView.setTouchMode(CPDFReaderView.TouchMode.EDIT);
             }
+            pdfView.exitEditMode();
             switch (mode) {
                 case Viewer:
                 case Signature:
@@ -483,6 +492,7 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
             if (curEditMode > CPDFEditPage.LoadNone) {
                 CPDFEditManager editManager = pdfView.getCPdfReaderView().getEditManager();
                 if (!editManager.isEditMode()) {
+                    editManager.enable();
                     editManager.beginEdit(curEditMode);
                 }
             }
@@ -502,6 +512,16 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
         }
         editToolBar.initWithPDFView(pdfView);
         editToolBar.setEditMode(false);
+        CPDFEditConfig editConfig = pdfView.getCPdfReaderView()
+                .getEditManager()
+                .getEditConfigBuilder()
+                    .setScreenshotRectColor(Color.TRANSPARENT)
+                    .setScreenshotBorderColor(ContextCompat.getColor(getContext(), R.color.tools_color_accent))
+                    .setScreenshotBorderDash(new float[]{8.0F, 4F})
+                    .build();
+
+        pdfView.getCPdfReaderView().getEditManager().updateEditConfig(editConfig);
+
         editToolBar.setEditPropertyBtnClickListener((view) -> {
             int type = pdfView.getCPdfReaderView().getSelectAreaType();
             CStyleType styleType = CStyleType.UNKNOWN;
@@ -646,6 +666,23 @@ public class CPDFDocumentFragment extends CBasicPDFFragment {
                             }
                         });
                         break;
+                    case Snip:
+                        menuWindow.addItem(R.drawable.tools_ic_snap, R.string.tools_snap, v -> {
+                            CPDFReaderView readerView = pdfView.getCPdfReaderView();
+                            readerView.removeAllAnnotFocus();
+                            if (readerView.getContextMenuShowListener() != null) {
+                                readerView.getContextMenuShowListener().dismissContextMenu();
+                            }
+                            for (int i = 0; i < readerView.getChildCount(); i++) {
+                                CPDFPageView view = (CPDFPageView) readerView.getChildAt(i);
+                                view.clearScreenShotRect();
+                            }
+                            // enter fill screen mode
+                            screenManager.fillScreenChange();
+                            // enter screenshot mode , Please select the screenshot area in the reader view
+                            readerView.setTouchMode(CPDFReaderView.TouchMode.SCREENSHOT);
+                        });
+                        break;
                     default:
                         break;
                 }

+ 3 - 1
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/pdf/config/ToolbarConfig.java

@@ -70,7 +70,9 @@ public class ToolbarConfig implements Serializable {
         Share,
         OpenDocument,
 
-        Flattened;
+        Flattened,
+
+        Snip;
 
         public static MenuAction fromString(String str) {
             try {

+ 21 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/utils/image/CImageUtil.java

@@ -9,10 +9,16 @@
 
 package com.compdfkit.tools.common.utils.image;
 
+import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.view.View;
 
+import com.compdfkit.tools.common.utils.CFileUtils;
+import com.compdfkit.tools.common.utils.date.CDateUtil;
+
+import java.io.File;
+
 public class CImageUtil {
 
 
@@ -24,5 +30,20 @@ public class CImageUtil {
         return CBitmapUtil.cropTransparent(bitmap);
     }
 
+    public static String saveBitmap(Context context, String fileName, Bitmap bitmap){
+        if (bitmap == null){
+            return null;
+        }
+        File file = new File(context.getFilesDir(), CFileUtils.CACHE_FOLDER);
+        file.mkdirs();
+        File bitmapFile =  new File(file, fileName);
+        boolean success = CBitmapUtil.saveBitmapToFile(bitmap,bitmapFile, 100, Bitmap.CompressFormat.PNG);
+        if (success){
+            return bitmapFile.getAbsolutePath();
+        }else {
+            return null;
+        }
+    }
+
 
 }

+ 10 - 0
ComPDFKit_Tools/src/main/res/drawable/tools_ic_snap.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="20"
+    android:viewportHeight="20">
+  <path
+      android:pathData="M6.114,2.471H2V6.578H6.114V2.471ZM18,2.471H13.886V6.578H18V2.471ZM6.114,13.422H2V17.529H6.114V13.422ZM18,13.422H13.886V17.529H18V13.422ZM9.086,5.209V3.84H7.257V5.209H9.086ZM12.743,5.209V3.84H10.915V5.209H12.743ZM4.743,9.087H3.371V7.262H4.743V9.087ZM4.743,12.738H3.371V10.913H4.743V12.738ZM15.257,9.087H16.628V7.262H15.257V9.087ZM15.257,12.738H16.628V10.913H15.257V12.738ZM9.086,14.791V16.16H7.257V14.791H9.086ZM12.743,14.791V16.16H10.915V14.791H12.743Z"
+      android:fillColor="#43474D"
+      android:fillType="evenOdd"/>
+</vector>

+ 2 - 0
ComPDFKit_Tools/src/main/res/values-zh-rCN/tools_strings.xml

@@ -496,6 +496,8 @@
     <string name="tools_delete_all_replies">删除所有回复</string>
     <string name="tools_import_success">导入成功</string>
     <string name="tools_please_select_xfdf_format_file">请选择xfdf格式文件</string>
+    <string name="tools_exit">退出</string>
+    <string name="tools_snap">截取</string>
 
     <string name="tools_marked">已标记</string>
     <string name="tools_unmarked">未标记</string>

+ 4 - 0
ComPDFKit_Tools/src/main/res/values/tools_strings.xml

@@ -523,4 +523,8 @@
     <string name="tools_view_reply">View Reply</string>
 
 
+    <string name="tools_snap">Snap</string>
+
+    <string name="tools_exit">Exit</string>
+
 </resources>

+ 3 - 3
config.gradle

@@ -3,10 +3,10 @@ ext {
             COMPILESDK: 33,
             MINSDK: 21,
             TARGETSDK: 33,
-            VERSIONCODE: 1011
+            VERSIONCODE: 1012
     ]
     sdk = [
-            COMPDFKIT_SDK_VERSION : "2.0.1",
-            COMPDFKIT_SDK_BUILD_TAG : "build_beta_2.0.1_f95eee300_202404241139"
+            COMPDFKIT_SDK_VERSION : "2.0.3",
+            COMPDFKIT_SDK_BUILD_TAG : "build_beta_2.0.3_f95eee300_202404241139"
     ]
 }