Skip to content

Commit 5e52b55

Browse files
committed
PDFTool(Android) - v2.2.2
1 parent 7198983 commit 5e52b55

File tree

32 files changed

+567
-46
lines changed

32 files changed

+567
-46
lines changed
10.7 KB
Binary file not shown.
108 KB
Binary file not shown.

ComPDFKit_Tools/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ dependencies {
5454
api project(path:':ComPDFKit_Repo:compdfkit')
5555
api project(path:':ComPDFKit_Repo:compdfkit-ui')
5656
// or use
57-
// api ('com.compdf:compdfkit:2.2.1')
58-
// api ('com.compdf:compdfkit-ui:2.2.1')
57+
// api ('com.compdf:compdfkit:2.2.2')
58+
// api ('com.compdf:compdfkit-ui:2.2.2')
5959
api 'com.github.bumptech.glide:glide:4.15.1'
6060
annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'
6161
api 'androidx.documentfile:documentfile:1.0.1'

ComPDFKit_Tools/src/main/assets/tools_default_configuration.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,9 @@
264264
},
265265
"global" : {
266266
"themeMode" : "system",
267-
"fileSaveExtraFontSubset" : true
267+
"fileSaveExtraFontSubset" : true,
268+
"watermark": {
269+
"saveAsNewFile" : true
270+
}
268271
}
269272
}

ComPDFKit_Tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfstamp/CAddStampSwichDialogFragment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ protected void onCreateView(View rootView) {
7575
});
7676
ivAddTextStamp.setOnClickListener(addTextStampClickListener);
7777
ivAddImageStamp.setOnClickListener(addImageStampClickListener);
78+
rootView.findViewById(R.id.tv_add_text_stamp).setOnClickListener(addTextStampClickListener);
79+
rootView.findViewById(R.id.tv_add_image_stamp).setOnClickListener(addImageStampClickListener);
7880
rootView.findViewById(R.id.cl_rootView).setOnClickListener(v -> dismiss());
7981
fabAnim(true);
8082
}

ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/contextmenu/provider/ContextMenuView.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,16 @@ public ContextMenuView addItem(@StringRes int titleRes, OnClickListener clickLis
6060
}
6161
return this;
6262
}
63+
64+
public ContextMenuView addItem(String title, OnClickListener clickListener){
65+
View view = LayoutInflater.from(getContext()).inflate(R.layout.tools_context_menu_item_layout, null);
66+
AppCompatTextView textView = (AppCompatTextView) view;
67+
textView.setId(View.generateViewId());
68+
textView.setText(title);
69+
textView.setOnClickListener(clickListener);
70+
if (llContent != null) {
71+
llContent.addView(view);
72+
}
73+
return this;
74+
}
6375
}

ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/pdf/CPDFConfigurationUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -728,6 +728,10 @@ private static GlobalConfig parseGlobalConfig(@Nullable JSONObject jsonObject) {
728728
globalConfig.themeMode = GlobalConfig.CThemeMode.fromString(jsonObject.optString("themeMode", "light"));
729729
globalConfig.fileSaveExtraFontSubset = jsonObject.optBoolean("fileSaveExtraFontSubset", true);
730730

731+
JSONObject watermark = jsonObject.optJSONObject("watermark");
732+
if (watermark != null){
733+
globalConfig.watermark.saveAsNewFile = watermark.optBoolean("saveAsNewFile",true);
734+
}
731735
return globalConfig;
732736
}
733737
}

ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/pdf/CPDFDocumentFragment.java

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ protected void initSearchBar() {
489489
}
490490

491491
private void restoreEdit() {
492-
restoreEdit(pdfView,pdfToolBar.getMode() == CPreviewMode.Edit);
492+
restoreEdit(pdfView, pdfToolBar.getMode() == CPreviewMode.Edit);
493493
}
494494

495495
protected void initEditBar() {
@@ -837,7 +837,7 @@ public void showSearch() {
837837
}
838838
}
839839

840-
public void showBOTA(){
840+
public void showBOTA() {
841841
pdfView.getCPdfReaderView().removeAllAnnotFocus();
842842
if (pdfView.getCPdfReaderView().getEditManager().isEditMode()) {
843843
curEditMode = pdfView.getCPdfReaderView().getLoadType();
@@ -864,11 +864,11 @@ public void showBOTA(){
864864
dialogFragment.show(getChildFragmentManager(), "annotationList");
865865
}
866866

867-
public void showPageEdit(boolean enterEditMode){
867+
public void showPageEdit(boolean enterEditMode) {
868868
showPageEdit(pdfView, enterEditMode, this::restoreEdit);
869869
}
870870

871-
public void showSecurityDialog(){
871+
public void showSecurityDialog() {
872872
CPDFDocument document = pdfView.getCPdfReaderView().getPDFDocument();
873873
if (document == null) {
874874
return;
@@ -888,25 +888,34 @@ public void showSecurityDialog(){
888888
showSettingEncryptionDialog();
889889
}
890890

891-
public void showAddWatermarkDialog(){
891+
public void showAddWatermarkDialog() {
892+
showAddWatermarkDialog(cpdfConfiguration.globalConfig.watermark.saveAsNewFile);
893+
}
894+
895+
public void showAddWatermarkDialog(boolean saveAsNewFile) {
892896
CWatermarkEditDialog watermarkEditDialog = CWatermarkEditDialog.newInstance();
893897
watermarkEditDialog.setDocument(pdfView.getCPdfReaderView().getPDFDocument());
894898
watermarkEditDialog.setSaveFileExtraFontSubset(pdfView.isSaveFileExtraFontSubset());
895899
watermarkEditDialog.setPageIndex(pdfView.currentPageIndex);
896-
watermarkEditDialog.setCompleteListener((pdfFile) -> {
897-
pdfView.getCPdfReaderView().reloadPages();
900+
watermarkEditDialog.setSaveAsNewFile(saveAsNewFile);
901+
watermarkEditDialog.setCompleteListener((saveAsNewFile1, pdfFile) -> {
898902
watermarkEditDialog.dismiss();
903+
CToastUtil.showLongToast(getContext(), R.string.tools_watermark_add_success);
904+
if (!saveAsNewFile1) {
905+
pdfView.getCPdfReaderView().reloadPages();
906+
return;
907+
}
908+
pdfView.getCPdfReaderView().reloadPages();
899909
if (TextUtils.isEmpty(pdfFile)) {
900910
CToastUtil.showLongToast(getContext(), R.string.tools_watermark_add_failed);
901911
return;
902912
}
903913
pdfView.openPDF(pdfFile);
904-
CToastUtil.showLongToast(getContext(), R.string.tools_watermark_add_success);
905914
});
906915
watermarkEditDialog.show(getChildFragmentManager(), "watermarkEditDialog");
907916
}
908917

909-
public void showFlattenedDialog(){
918+
public void showFlattenedDialog() {
910919
if (Build.VERSION.SDK_INT < CPermissionUtil.VERSION_R) {
911920
multiplePermissionResultLauncher.launch(CPermissionUtil.STORAGE_PERMISSIONS, result -> {
912921
if (CPermissionUtil.hasStoragePermissions(getContext())) {
@@ -922,7 +931,7 @@ public void showFlattenedDialog(){
922931
}
923932
}
924933

925-
public void enterSnipMode(){
934+
public void enterSnipMode() {
926935
CPDFReaderView readerView = pdfView.getCPdfReaderView();
927936
readerView.removeAllAnnotFocus();
928937
if (readerView.getContextMenuShowListener() != null) {
@@ -939,7 +948,7 @@ public void enterSnipMode(){
939948
readerView.setTouchMode(CPDFReaderView.TouchMode.SCREENSHOT);
940949
}
941950

942-
public void exitSnipMode(){
951+
public void exitSnipMode() {
943952
CPDFReaderView readerView = pdfView.getCPdfReaderView();
944953
readerView.removeAllAnnotFocus();
945954
if (readerView.getContextMenuShowListener() != null) {
@@ -950,14 +959,14 @@ public void exitSnipMode(){
950959
view.clearScreenShotRect();
951960
}
952961
CPDFReaderView.ViewMode viewMode = readerView.getViewMode();
953-
if(viewMode == CPDFReaderView.ViewMode.PDFEDIT){
962+
if (viewMode == CPDFReaderView.ViewMode.PDFEDIT) {
954963
readerView.setTouchMode(CPDFReaderView.TouchMode.EDIT);
955964
CPDFEditManager editManager = readerView.getEditManager();
956965
if (editManager != null && !editManager.isEditMode()) {
957966
editManager.enable();
958967
editManager.beginEdit(CPDFEditPage.LoadTextImage | CPDFEditPage.LoadPath);
959968
}
960-
}else {
969+
} else {
961970
readerView.setTouchMode(CPDFReaderView.TouchMode.BROWSE);
962971
}
963972
screenManager.fillScreenChange();
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.compdfkit.tools.common.pdf.config;
2+
3+
import java.io.Serializable;
4+
5+
/**
6+
* @classname:
7+
* @author: LiuXiaoLong
8+
* @date: 2025/2/7
9+
* description:
10+
*/
11+
public class CPDFWatermarkConfig implements Serializable {
12+
public boolean saveAsNewFile = true;
13+
14+
}

ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/pdf/config/GlobalConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ public static CThemeMode fromString(String str) {
3333
*/
3434
public boolean fileSaveExtraFontSubset = true;
3535

36+
public CPDFWatermarkConfig watermark = new CPDFWatermarkConfig();
37+
3638
}

0 commit comments

Comments
 (0)