浏览代码

【PDF工具 - 批量】右侧视图创建

lizhe 2 年之前
父节点
当前提交
72a6eef4d2
共有 22 个文件被更改,包括 521 次插入28 次删除
  1. 176 6
      PDF Office/PDF Office.xcodeproj/project.pbxproj
  2. 4 20
      PDF Office/PDF Office.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  3. 8 0
      PDF Office/PDF Office/Class/PDFTools/Batch/KMBatchWindowController.swift
  4. 14 2
      PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/KMBatchCollectionView.swift
  5. 29 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/Model/KMBatchCollectionViewModel.swift
  6. 2 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/Presenter/KMBatchCollectionViewPrensenter.swift
  7. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Background/KMBatchBackgroundView.swift
  8. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Background/KMBatchBackgroundView.xib
  9. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatchRemove/KMBatchBatchRemoveView.swift
  10. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatchRemove/KMBatchBatchRemoveView.xib
  11. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatesNumber/KMBatchBatesNumberView.swift
  12. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatesNumber/KMBatchBatesNumberView.xib
  13. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Compress/KMBatchCompressView.swift
  14. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Compress/KMBatchCompressView.xib
  15. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/ConverPDF/KMBatchConverPDFView.swift
  16. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/ConverPDF/KMBatchConverPDFView.xib
  17. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Header&Footer/KMBatchHeaderAndFooterView.swift
  18. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Header&Footer/KMBatchHeaderAndFooterView.xib
  19. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Security/KMBatchSecurityView.swift
  20. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Security/KMBatchSecurityView.xib
  21. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Watermark/KMBatchWatermarkView.swift
  22. 18 0
      PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Watermark/KMBatchWatermarkView.xib

+ 176 - 6
PDF Office/PDF Office.xcodeproj/project.pbxproj

@@ -883,6 +883,54 @@
 		ADB1FE612975189600ED072D /* KMBatchProcessingDeleteTableCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE602975189600ED072D /* KMBatchProcessingDeleteTableCell.xib */; };
 		ADB1FE622975189600ED072D /* KMBatchProcessingDeleteTableCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE602975189600ED072D /* KMBatchProcessingDeleteTableCell.xib */; };
 		ADB1FE632975189600ED072D /* KMBatchProcessingDeleteTableCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE602975189600ED072D /* KMBatchProcessingDeleteTableCell.xib */; };
+		ADB1FE6E29752BB700ED072D /* KMBatchConverPDFView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE6D29752BB700ED072D /* KMBatchConverPDFView.swift */; };
+		ADB1FE6F29752BB700ED072D /* KMBatchConverPDFView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE6D29752BB700ED072D /* KMBatchConverPDFView.swift */; };
+		ADB1FE7029752BB700ED072D /* KMBatchConverPDFView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE6D29752BB700ED072D /* KMBatchConverPDFView.swift */; };
+		ADB1FE7229752ED500ED072D /* KMBatchConverPDFView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7129752ED500ED072D /* KMBatchConverPDFView.xib */; };
+		ADB1FE7329752ED500ED072D /* KMBatchConverPDFView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7129752ED500ED072D /* KMBatchConverPDFView.xib */; };
+		ADB1FE7429752ED500ED072D /* KMBatchConverPDFView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7129752ED500ED072D /* KMBatchConverPDFView.xib */; };
+		ADB1FE7629752F0900ED072D /* KMBatchCompressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7529752F0900ED072D /* KMBatchCompressView.swift */; };
+		ADB1FE7729752F0900ED072D /* KMBatchCompressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7529752F0900ED072D /* KMBatchCompressView.swift */; };
+		ADB1FE7829752F0900ED072D /* KMBatchCompressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7529752F0900ED072D /* KMBatchCompressView.swift */; };
+		ADB1FE7A29752F1100ED072D /* KMBatchCompressView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7929752F1100ED072D /* KMBatchCompressView.xib */; };
+		ADB1FE7B29752F1100ED072D /* KMBatchCompressView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7929752F1100ED072D /* KMBatchCompressView.xib */; };
+		ADB1FE7C29752F1100ED072D /* KMBatchCompressView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE7929752F1100ED072D /* KMBatchCompressView.xib */; };
+		ADB1FE7E29752F2900ED072D /* KMBatchSecurityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7D29752F2900ED072D /* KMBatchSecurityView.swift */; };
+		ADB1FE7F29752F2900ED072D /* KMBatchSecurityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7D29752F2900ED072D /* KMBatchSecurityView.swift */; };
+		ADB1FE8029752F2900ED072D /* KMBatchSecurityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE7D29752F2900ED072D /* KMBatchSecurityView.swift */; };
+		ADB1FE8229752F3200ED072D /* KMBatchSecurityView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8129752F3200ED072D /* KMBatchSecurityView.xib */; };
+		ADB1FE8329752F3200ED072D /* KMBatchSecurityView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8129752F3200ED072D /* KMBatchSecurityView.xib */; };
+		ADB1FE8429752F3200ED072D /* KMBatchSecurityView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8129752F3200ED072D /* KMBatchSecurityView.xib */; };
+		ADB1FE8629752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8529752F4C00ED072D /* KMBatchWatermarkView.swift */; };
+		ADB1FE8729752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8529752F4C00ED072D /* KMBatchWatermarkView.swift */; };
+		ADB1FE8829752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8529752F4C00ED072D /* KMBatchWatermarkView.swift */; };
+		ADB1FE8A29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8929752F5600ED072D /* KMBatchWatermarkView.xib */; };
+		ADB1FE8B29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8929752F5600ED072D /* KMBatchWatermarkView.xib */; };
+		ADB1FE8C29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE8929752F5600ED072D /* KMBatchWatermarkView.xib */; };
+		ADB1FE8E29752F7000ED072D /* KMBatchBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8D29752F7000ED072D /* KMBatchBackgroundView.swift */; };
+		ADB1FE8F29752F7000ED072D /* KMBatchBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8D29752F7000ED072D /* KMBatchBackgroundView.swift */; };
+		ADB1FE9029752F7000ED072D /* KMBatchBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE8D29752F7000ED072D /* KMBatchBackgroundView.swift */; };
+		ADB1FE9229752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE9129752F7D00ED072D /* KMBatchBackgroundView.xib */; };
+		ADB1FE9329752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE9129752F7D00ED072D /* KMBatchBackgroundView.xib */; };
+		ADB1FE9429752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE9129752F7D00ED072D /* KMBatchBackgroundView.xib */; };
+		ADB1FE962975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE952975300B00ED072D /* KMBatchHeaderAndFooterView.swift */; };
+		ADB1FE972975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE952975300B00ED072D /* KMBatchHeaderAndFooterView.swift */; };
+		ADB1FE982975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE952975300B00ED072D /* KMBatchHeaderAndFooterView.swift */; };
+		ADB1FE9A2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE992975301500ED072D /* KMBatchHeaderAndFooterView.xib */; };
+		ADB1FE9B2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE992975301500ED072D /* KMBatchHeaderAndFooterView.xib */; };
+		ADB1FE9C2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FE992975301500ED072D /* KMBatchHeaderAndFooterView.xib */; };
+		ADB1FE9E2975303400ED072D /* KMBatchBatesNumberView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE9D2975303400ED072D /* KMBatchBatesNumberView.swift */; };
+		ADB1FE9F2975303400ED072D /* KMBatchBatesNumberView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE9D2975303400ED072D /* KMBatchBatesNumberView.swift */; };
+		ADB1FEA02975303400ED072D /* KMBatchBatesNumberView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FE9D2975303400ED072D /* KMBatchBatesNumberView.swift */; };
+		ADB1FEA22975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA12975303F00ED072D /* KMBatchBatesNumberView.xib */; };
+		ADB1FEA32975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA12975303F00ED072D /* KMBatchBatesNumberView.xib */; };
+		ADB1FEA42975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA12975303F00ED072D /* KMBatchBatesNumberView.xib */; };
+		ADB1FEA62975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FEA52975305500ED072D /* KMBatchBatchRemoveView.swift */; };
+		ADB1FEA72975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FEA52975305500ED072D /* KMBatchBatchRemoveView.swift */; };
+		ADB1FEA82975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB1FEA52975305500ED072D /* KMBatchBatchRemoveView.swift */; };
+		ADB1FEAA2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA92975310A00ED072D /* KMBatchBatchRemoveView.xib */; };
+		ADB1FEAB2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA92975310A00ED072D /* KMBatchBatchRemoveView.xib */; };
+		ADB1FEAC2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADB1FEA92975310A00ED072D /* KMBatchBatchRemoveView.xib */; };
 		ADB2D6E6294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E7294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E8294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
@@ -2281,6 +2329,22 @@
 		ADB1FE4C2972958B00ED072D /* Batch_ic.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Batch_ic.pdf; sourceTree = "<group>"; };
 		ADB1FE5C2975182100ED072D /* KMBatchProcessingDeleteTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchProcessingDeleteTableCell.swift; sourceTree = "<group>"; };
 		ADB1FE602975189600ED072D /* KMBatchProcessingDeleteTableCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchProcessingDeleteTableCell.xib; sourceTree = "<group>"; };
+		ADB1FE6D29752BB700ED072D /* KMBatchConverPDFView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchConverPDFView.swift; sourceTree = "<group>"; };
+		ADB1FE7129752ED500ED072D /* KMBatchConverPDFView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchConverPDFView.xib; sourceTree = "<group>"; };
+		ADB1FE7529752F0900ED072D /* KMBatchCompressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchCompressView.swift; sourceTree = "<group>"; };
+		ADB1FE7929752F1100ED072D /* KMBatchCompressView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchCompressView.xib; sourceTree = "<group>"; };
+		ADB1FE7D29752F2900ED072D /* KMBatchSecurityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchSecurityView.swift; sourceTree = "<group>"; };
+		ADB1FE8129752F3200ED072D /* KMBatchSecurityView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchSecurityView.xib; sourceTree = "<group>"; };
+		ADB1FE8529752F4C00ED072D /* KMBatchWatermarkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchWatermarkView.swift; sourceTree = "<group>"; };
+		ADB1FE8929752F5600ED072D /* KMBatchWatermarkView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchWatermarkView.xib; sourceTree = "<group>"; };
+		ADB1FE8D29752F7000ED072D /* KMBatchBackgroundView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchBackgroundView.swift; sourceTree = "<group>"; };
+		ADB1FE9129752F7D00ED072D /* KMBatchBackgroundView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchBackgroundView.xib; sourceTree = "<group>"; };
+		ADB1FE952975300B00ED072D /* KMBatchHeaderAndFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchHeaderAndFooterView.swift; sourceTree = "<group>"; };
+		ADB1FE992975301500ED072D /* KMBatchHeaderAndFooterView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchHeaderAndFooterView.xib; sourceTree = "<group>"; };
+		ADB1FE9D2975303400ED072D /* KMBatchBatesNumberView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchBatesNumberView.swift; sourceTree = "<group>"; };
+		ADB1FEA12975303F00ED072D /* KMBatchBatesNumberView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchBatesNumberView.xib; sourceTree = "<group>"; };
+		ADB1FEA52975305500ED072D /* KMBatchBatchRemoveView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchBatchRemoveView.swift; sourceTree = "<group>"; };
+		ADB1FEA92975310A00ED072D /* KMBatchBatchRemoveView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchBatchRemoveView.xib; sourceTree = "<group>"; };
 		ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetWindowController.swift; sourceTree = "<group>"; };
 		ADB2D6E5294740F30029D2B3 /* KMPrintPaperSetWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintPaperSetWindowController.xib; sourceTree = "<group>"; };
 		ADB2D6EC2947415E0029D2B3 /* KMPrintPaperSetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetView.swift; sourceTree = "<group>"; };
@@ -3673,6 +3737,12 @@
 		ADB1FE642975211100ED072D /* Choose */ = {
 			isa = PBXGroup;
 			children = (
+				ADB1FE6C29752B3100ED072D /* BatchRemove */,
+				ADB1FE6B29752B2900ED072D /* BatesNumber */,
+				ADB1FE6A29752B1A00ED072D /* Header&Footer */,
+				ADB1FE6929752B1100ED072D /* Background */,
+				ADB1FE6829752B0900ED072D /* Watermark */,
+				ADB1FE6729752B0000ED072D /* Security */,
 				ADB1FE662975212300ED072D /* Compress */,
 				ADB1FE652975211700ED072D /* ConverPDF */,
 			);
@@ -3682,6 +3752,8 @@
 		ADB1FE652975211700ED072D /* ConverPDF */ = {
 			isa = PBXGroup;
 			children = (
+				ADB1FE6D29752BB700ED072D /* KMBatchConverPDFView.swift */,
+				ADB1FE7129752ED500ED072D /* KMBatchConverPDFView.xib */,
 			);
 			path = ConverPDF;
 			sourceTree = "<group>";
@@ -3689,10 +3761,66 @@
 		ADB1FE662975212300ED072D /* Compress */ = {
 			isa = PBXGroup;
 			children = (
+				ADB1FE7529752F0900ED072D /* KMBatchCompressView.swift */,
+				ADB1FE7929752F1100ED072D /* KMBatchCompressView.xib */,
 			);
 			path = Compress;
 			sourceTree = "<group>";
 		};
+		ADB1FE6729752B0000ED072D /* Security */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FE7D29752F2900ED072D /* KMBatchSecurityView.swift */,
+				ADB1FE8129752F3200ED072D /* KMBatchSecurityView.xib */,
+			);
+			path = Security;
+			sourceTree = "<group>";
+		};
+		ADB1FE6829752B0900ED072D /* Watermark */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FE8529752F4C00ED072D /* KMBatchWatermarkView.swift */,
+				ADB1FE8929752F5600ED072D /* KMBatchWatermarkView.xib */,
+			);
+			path = Watermark;
+			sourceTree = "<group>";
+		};
+		ADB1FE6929752B1100ED072D /* Background */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FE8D29752F7000ED072D /* KMBatchBackgroundView.swift */,
+				ADB1FE9129752F7D00ED072D /* KMBatchBackgroundView.xib */,
+			);
+			path = Background;
+			sourceTree = "<group>";
+		};
+		ADB1FE6A29752B1A00ED072D /* Header&Footer */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FE952975300B00ED072D /* KMBatchHeaderAndFooterView.swift */,
+				ADB1FE992975301500ED072D /* KMBatchHeaderAndFooterView.xib */,
+			);
+			path = "Header&Footer";
+			sourceTree = "<group>";
+		};
+		ADB1FE6B29752B2900ED072D /* BatesNumber */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FE9D2975303400ED072D /* KMBatchBatesNumberView.swift */,
+				ADB1FEA12975303F00ED072D /* KMBatchBatesNumberView.xib */,
+			);
+			path = BatesNumber;
+			sourceTree = "<group>";
+		};
+		ADB1FE6C29752B3100ED072D /* BatchRemove */ = {
+			isa = PBXGroup;
+			children = (
+				ADB1FEA52975305500ED072D /* KMBatchBatchRemoveView.swift */,
+				ADB1FEA92975310A00ED072D /* KMBatchBatchRemoveView.xib */,
+			);
+			path = BatchRemove;
+			sourceTree = "<group>";
+		};
 		ADB2D6E229473FF00029D2B3 /* DealPaper */ = {
 			isa = PBXGroup;
 			children = (
@@ -5283,6 +5411,7 @@
 				9F1FE4DE29406E4700E952CA /* .gclient in Resources */,
 				ADB1FE2B297006DF00ED072D /* KMBatchWindowController.xib in Resources */,
 				9F1F82BF292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.xib in Resources */,
+				ADB1FEAA2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */,
 				9F0CB48A29683DC400007028 /* KMPropertiesPanelPresetColorSubVC.xib in Resources */,
 				9F8DDF302924B855006CDC73 /* KMPDFToolsViewController.xib in Resources */,
 				9F705F732918E02C005199AD /* ceshi.pdf in Resources */,
@@ -5306,6 +5435,7 @@
 				ADC25DFC2923BA710080A3F6 /* KMImageToPDFWindowController.xib in Resources */,
 				AD4B4550294072B90076FA14 /* KMOCRWindowController.xib in Resources */,
 				89E4E6E62963CD82002DBA6F /* KMGeneralAnnotationViewController.xib in Resources */,
+				ADB1FE8A29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */,
 				AD44D656292C9E8C00A94554 /* KMImageToPDFChooseView.xib in Resources */,
 				9F1FE4E729406E4700E952CA /* COPYING in Resources */,
 				BB897237294B38DC0045787C /* KMWatermarkAdjectivePropertyBaseController.xib in Resources */,
@@ -5322,6 +5452,7 @@
 				89E4E7852967BF5A002DBA6F /* KMCustomizeStampViewController.xib in Resources */,
 				F359917B292B7B8A000D25DE /* InitialUserDefaults.plist in Resources */,
 				BB8F455A295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.xib in Resources */,
+				ADB1FE8229752F3200ED072D /* KMBatchSecurityView.xib in Resources */,
 				BB3EAEB0293E3D6000D92407 /* KMConvertBaseWindowController.xib in Resources */,
 				9F705F79291A3A84005199AD /* KMHistoryFileDeleteWindowController.xib in Resources */,
 				9F0CB4622966C9E200007028 /* KMFormPropertPanelViewController.xib in Resources */,
@@ -5332,6 +5463,7 @@
 				8997011928F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				9FA607E128FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				89D2D2B92947316900BFF5FE /* Quick Start Guide_Widget.pdf in Resources */,
+				ADB1FE7229752ED500ED072D /* KMBatchConverPDFView.xib in Resources */,
 				9FDD0F9C2952FF4D000C4DAD /* comp-light.json in Resources */,
 				AD9527B229503D620039D2BC /* Untitled.pdf in Resources */,
 				F3B7DFA42949C8E300333201 /* CPDFListView.xcassets in Resources */,
@@ -5348,6 +5480,7 @@
 				BB4BD9CF2909026500A66A65 /* KMRightSideViewController.xib in Resources */,
 				BB99ACC5292DE22E0048AFD9 /* KMMergeViewController.xib in Resources */,
 				8997012E28F42F15009AF911 /* Biochemistry.pdf in Resources */,
+				ADB1FEA22975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */,
 				8942F7F32926087200389627 /* KMSearchViewController.xib in Resources */,
 				9F0CB46A2967E5CB00007028 /* KMPropertiesPanelSubViewController.xib in Resources */,
 				9F0CB4722967E63100007028 /* KMPropertiesPanelNameSubVC.xib in Resources */,
@@ -5380,6 +5513,7 @@
 				BB49ECE0293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				ADB2D6FD294882B70029D2B3 /* KMTextFieldStepperView.xib in Resources */,
 				89D2D2FE294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */,
+				ADB1FE7A29752F1100ED072D /* KMBatchCompressView.xib in Resources */,
 				BB6DD80F29347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				F3B7DF9D2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				899700EB28F3E4D3009AF911 /* MainWindowController.xib in Resources */,
@@ -5394,10 +5528,12 @@
 				89E4E76429656A88002DBA6F /* KMAnnotationStampViewController.xib in Resources */,
 				BBC745ED295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				89E9B3F9295BE2EC00AEFA61 /* KMEditPDFTextPropertyViewController.xib in Resources */,
+				ADB1FE9A2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */,
 				9F8539CE29430BF300DF644E /* KMBrowserWindowController.xib in Resources */,
 				9F0CB49229683DEE00007028 /* KMPropertiesPanelLineSubVC.xib in Resources */,
 				BB8B17362907B64D001C5EA5 /* CipherTextView.xib in Resources */,
 				BBC348562958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
+				ADB1FE9229752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */,
 				9F1F82B7292DEF370092C4B4 /* KMCloudDocumentsViewController.xib in Resources */,
 				9F853A022947137500DF644E /* default-icon.pdf in Resources */,
 				BBC348052955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib in Resources */,
@@ -5463,6 +5599,7 @@
 				89E9B40A295D268E00AEFA61 /* KMEditImagePropertyViewController.xib in Resources */,
 				BB89724A294C19980045787C /* KMWatermarkAdjectiveListController.xib in Resources */,
 				89E4E6E72963CD82002DBA6F /* KMGeneralAnnotationViewController.xib in Resources */,
+				ADB1FE9B2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */,
 				BBA8B7A72935CD740097D183 /* KMRemovePasswordAlertWindowController.xib in Resources */,
 				BB99ACC6292DE22E0048AFD9 /* KMMergeViewController.xib in Resources */,
 				9F0CB49B29683E1000007028 /* KMPropertiesPanelTextSubVC.xib in Resources */,
@@ -5518,22 +5655,28 @@
 				ADB2D6F3294741720029D2B3 /* KMPrintPaperSetView.xib in Resources */,
 				ADCB98DE2924775B00B51A03 /* KMBatchProcessingOrderTableCell.xib in Resources */,
 				BB6DD81029347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
+				ADB1FEA32975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */,
 				89E4E7302963FBA2002DBA6F /* KMPropertiesViewPopController.xib in Resources */,
 				BB2F61542966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */,
 				9F0CB4632966C9E200007028 /* KMFormPropertPanelViewController.xib in Resources */,
 				ADB2D6FE294882B70029D2B3 /* KMTextFieldStepperView.xib in Resources */,
 				ADB2D6EA294740F30029D2B3 /* KMPrintPaperSetWindowController.xib in Resources */,
 				AD4B456D294092160076FA14 /* KMOCRChooseView.xib in Resources */,
+				ADB1FE9329752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */,
 				AD44D657292C9E8C00A94554 /* KMImageToPDFChooseView.xib in Resources */,
 				9F853A092947137500DF644E /* newtab.pdf in Resources */,
+				ADB1FE7329752ED500ED072D /* KMBatchConverPDFView.xib in Resources */,
 				9F0CB4A329683E2600007028 /* KMPropertiesPanelSizeSubVC.xib in Resources */,
 				BBC34820295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */,
 				9F1F82C0292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.xib in Resources */,
 				BB5DF1F52959C9F00025CDA1 /* KMHeaderFooterController.xib in Resources */,
+				ADB1FEAB2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */,
 				8997012F28F42F15009AF911 /* Biochemistry.pdf in Resources */,
 				9F1FE4DF29406E4700E952CA /* .gclient in Resources */,
 				BBFBE74D28DD7DE8008B2335 /* Assets.xcassets in Resources */,
+				ADB1FE7B29752F1100ED072D /* KMBatchCompressView.xib in Resources */,
 				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
+				ADB1FE8329752F3200ED072D /* KMBatchSecurityView.xib in Resources */,
 				9F0CB48B29683DC400007028 /* KMPropertiesPanelPresetColorSubVC.xib in Resources */,
 				89D2D2FF294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */,
 				89E4E70C2963D62B002DBA6F /* KMAnnotationFontWindowController.xib in Resources */,
@@ -5541,6 +5684,7 @@
 				8931684D296E436B0073EA59 /* KMSignatureWindowController.xib in Resources */,
 				9F8539DB294318D600DF644E /* TabsImage.xcassets in Resources */,
 				BBEC00DD295C39FD00A26C98 /* KMBatesPropertyInfoController.xib in Resources */,
+				ADB1FE8B29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */,
 				BBA8B7B4293635D80097D183 /* KMPasswordInputWindow.xib in Resources */,
 				9F78EFBF28F7C1CC001E66F4 /* KMHomeViewController.xib in Resources */,
 				9F8539FA2947137500DF644E /* newtab_p.pdf in Resources */,
@@ -5654,6 +5798,7 @@
 				BB49ED03293F459500C82CA2 /* KMConvertPPTsWindowController.xib in Resources */,
 				BB89723F294B3C840045787C /* KMWatermarkPropertyController.xib in Resources */,
 				BB49ECFB293F44DC00C82CA2 /* KMConvertExcelWindowController.xib in Resources */,
+				ADB1FE9429752F7D00ED072D /* KMBatchBackgroundView.xib in Resources */,
 				9F853A042947137500DF644E /* default-icon.pdf in Resources */,
 				9F8539ED2947131F00DF644E /* KMChromiumTabView.xib in Resources */,
 				BBEC00DE295C39FD00A26C98 /* KMBatesPropertyInfoController.xib in Resources */,
@@ -5696,14 +5841,17 @@
 				899700E428F3A9F2009AF911 /* KMHomeWindowController.xib in Resources */,
 				BBC348402955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */,
 				9FDD0F9E2952FF4D000C4DAD /* comp-light.json in Resources */,
+				ADB1FEA42975303F00ED072D /* KMBatchBatesNumberView.xib in Resources */,
 				9F8539E9294712D600DF644E /* KMChromiumTabContents.xib in Resources */,
 				9F8DDF322924B855006CDC73 /* KMPDFToolsViewController.xib in Resources */,
 				BBEC00BC295C2C1600A26C98 /* KMBatesPropertyHomeController.xib in Resources */,
+				ADB1FE9C2975301500ED072D /* KMBatchHeaderAndFooterView.xib in Resources */,
 				8997011B28F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				8942F7B42921D28200389627 /* Quick Start Guide.pdf in Resources */,
 				BB89721D294AED6C0045787C /* KMWatermarkAdjectiveBaseController.xib in Resources */,
 				ADB2D6EB294740F30029D2B3 /* KMPrintPaperSetWindowController.xib in Resources */,
 				899700FB28F4051B009AF911 /* KMAnnotationViewController.xib in Resources */,
+				ADB1FEAC2975310A00ED072D /* KMBatchBatchRemoveView.xib in Resources */,
 				BB3EAEB2293E3D6000D92407 /* KMConvertBaseWindowController.xib in Resources */,
 				ADD1B6CD2942E85300C3FFF7 /* KMPrintBottomView.xib in Resources */,
 				9F853A012947137500DF644E /* throbber.png in Resources */,
@@ -5716,6 +5864,7 @@
 				89E4E7872967BF5A002DBA6F /* KMCustomizeStampViewController.xib in Resources */,
 				9F853A0A2947137500DF644E /* newtab.pdf in Resources */,
 				8997011328F40842009AF911 /* KMOutlineViewController.xib in Resources */,
+				ADB1FE8429752F3200ED072D /* KMBatchSecurityView.xib in Resources */,
 				9FBA0EE628FEC253001117AF /* KMProductPromotionViewController.xib in Resources */,
 				89E9B3FB295BE2EC00AEFA61 /* KMEditPDFTextPropertyViewController.xib in Resources */,
 				BB1EC8032967B26700EC0BC3 /* KMPDFEditViewController.xib in Resources */,
@@ -5734,6 +5883,7 @@
 				9FA607E328FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				AD44D658292C9E8C00A94554 /* KMImageToPDFChooseView.xib in Resources */,
 				BB4BD9D12909026500A66A65 /* KMRightSideViewController.xib in Resources */,
+				ADB1FE8C29752F5600ED072D /* KMBatchWatermarkView.xib in Resources */,
 				89D2D2BB2947316900BFF5FE /* Quick Start Guide_Widget.pdf in Resources */,
 				9F0CB49429683DEE00007028 /* KMPropertiesPanelLineSubVC.xib in Resources */,
 				BBC348072955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib in Resources */,
@@ -5753,6 +5903,7 @@
 				ADB1FE2D297006DF00ED072D /* KMBatchWindowController.xib in Resources */,
 				9FDD0F69294AB645000C4DAD /* KMMainViewController.xib in Resources */,
 				9FBA0EF328FFC716001117AF /* KMHomeFastToolViewController.xib in Resources */,
+				ADB1FE7429752ED500ED072D /* KMBatchConverPDFView.xib in Resources */,
 				8942F7F52926087200389627 /* KMSearchViewController.xib in Resources */,
 				BBFE6E7A2930E53000142C01 /* KMMergePopoverViewController.xib in Resources */,
 				89D9897128FD50EF003A3E87 /* KMAnnotationCollectionViewItem.xib in Resources */,
@@ -5801,6 +5952,7 @@
 				9F8539F82947137500DF644E /* sadfavicon.png in Resources */,
 				9F8539FB2947137500DF644E /* newtab_p.pdf in Resources */,
 				BB89725B294C559F0045787C /* KMWatermarkPropertyCreateController.xib in Resources */,
+				ADB1FE7C29752F1100ED072D /* KMBatchCompressView.xib in Resources */,
 				ADB2D6F4294741720029D2B3 /* KMPrintPaperSetView.xib in Resources */,
 				BB49ED13293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				9F0CB46C2967E5CB00007028 /* KMPropertiesPanelSubViewController.xib in Resources */,
@@ -5897,13 +6049,11 @@
 				BBA8B7AA2935DC120097D183 /* KMRemovePasswordResultTipView.swift in Sources */,
 				AD9527CA295297B70039D2BC /* KMPrintModel.swift in Sources */,
 				ADCB9971292C65EE00B51A03 /* KMGOCROperation.m in Sources */,
-
 				BBD1F77C296F9BE000343885 /* KMPageEditSettingBaseWindowController.swift in Sources */,
-
 				8931683A296E436B0073EA59 /* KMSignatureWindowController.m in Sources */,
-
 				BBF38A5A294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */,
 				BB8F4586295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
+				ADB1FE8629752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */,
 				BB1EC8112967EB5A00EC0BC3 /* KMPageEditThumbnailViewKMPageEditThumbnailView_OC.m in Sources */,
 				F3B7DF9A2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */,
 				9FDD0FAE29534FDC000C4DAD /* KMCompLight.swift in Sources */,
@@ -5951,6 +6101,7 @@
 				BB8F457A295AFB330037EA22 /* KMHeaderFooterFontInfoView.swift in Sources */,
 				8997010628F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				BBD1F78B296FACA300343885 /* KMPageEditExtractSettingView.swift in Sources */,
+				ADB1FE8E29752F7000ED072D /* KMBatchBackgroundView.swift in Sources */,
 				9FDD0F77294FEF64000C4DAD /* KMConvertPDFManager.swift in Sources */,
 				9F8539D62943180000DF644E /* KMTabAppearance.swift in Sources */,
 				BB5DF1E92959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */,
@@ -5990,6 +6141,7 @@
 				F34BF94E29531213002C25A2 /* NSGraphics+PDFListView.m in Sources */,
 				9F1FE4A829406E4700E952CA /* CTBrowserWindowController.m in Sources */,
 				89D9897828FE895A003A3E87 /* KMOutlineCellView.swift in Sources */,
+				ADB1FEA62975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */,
 				9FDD0F802952FC36000C4DAD /* KMComponentLibraryTool.swift in Sources */,
 				BBFE6E582930724B00142C01 /* KMMergePageModel.swift in Sources */,
 				BB897229294B08720045787C /* KMWatermarkAdjectiveTopBarItemModel.swift in Sources */,
@@ -6011,6 +6163,7 @@
 				89752D9A2936E675003FF08E /* KMToolBarBox.swift in Sources */,
 				BBEC00AF295C2AF300A26C98 /* KMBatesPreviewController.swift in Sources */,
 				BBC348332955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
+				ADB1FE7629752F0900ED072D /* KMBatchCompressView.swift in Sources */,
 				BBFE6E87293210AB00142C01 /* KMCompressCellView.swift in Sources */,
 				BB246DA428F6B492005E8F52 /* NSBezierPath_SKExtensions.m in Sources */,
 				89D9895E28FD21E6003A3E87 /* KMAnnotationCollectionView.swift in Sources */,
@@ -6023,6 +6176,7 @@
 				ADD1B6E42946C00800C3FFF7 /* KMPrintChoosePageSizePosterView.swift in Sources */,
 				9F1FE4BA29406E4700E952CA /* NSImage+CTAdditions.m in Sources */,
 				BB6B4C08292F53CE0071CA06 /* KMMergeFileModel.swift in Sources */,
+				ADB1FE7E29752F2900ED072D /* KMBatchSecurityView.swift in Sources */,
 				9FDD0FB229534FEA000C4DAD /* KMGlobal.swift in Sources */,
 				9F1FE49329406E4700E952CA /* common.m in Sources */,
 				8997011F28F41AB8009AF911 /* KMLeftSideViewController.swift in Sources */,
@@ -6115,6 +6269,7 @@
 				8942F80929275CBC00389627 /* KMOCToolClass.m in Sources */,
 				BB8F4569295ABDC10037EA22 /* KMWatermarkAdjectiveBaseModel.swift in Sources */,
 				BB88E45829404752002B3655 /* KMPDFConvert.swift in Sources */,
+				ADB1FE9E2975303400ED072D /* KMBatchBatesNumberView.swift in Sources */,
 				9F1FE4CC29406E4700E952CA /* CTTabContentsController.m in Sources */,
 				BBF38A62294F53FD0086D025 /* KMWatermarkFileView.swift in Sources */,
 				BBC3482E29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
@@ -6168,6 +6323,7 @@
 				9FDD0FB7295D5230000C4DAD /* KMToolbarController.swift in Sources */,
 				9F1FE4F929406E4700E952CA /* CTTabStripView.m in Sources */,
 				89316852296E45CA0073EA59 /* KMImageAccessoryController.m in Sources */,
+				ADB1FE962975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */,
 				F3732323292DFFFE0013862C /* CPDFListView+Extension.m in Sources */,
 				9F1FE4C029406E4700E952CA /* NSWindow+CTThemed.m in Sources */,
 				F37322E1292DF9410013862C /* CPDFChoiceWidgetAnnotation+PDFListView.m in Sources */,
@@ -6192,6 +6348,7 @@
 				BB6DD814293486FA001F0544 /* KMSecureEncryptPasswordCellView.swift in Sources */,
 				BB897269294DB41D0045787C /* KMWatermarkAdjectivePositionView.swift in Sources */,
 				BB8B173C2907CDD9001C5EA5 /* NibLoadable.swift in Sources */,
+				ADB1FE6E29752BB700ED072D /* KMBatchConverPDFView.swift in Sources */,
 				BB8F4557295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.swift in Sources */,
 				BBC745F7296178BD0072C2ED /* KMCropTools.swift in Sources */,
 				AD9527DB2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
@@ -6357,13 +6514,11 @@
 				F373230F292DF9410013862C /* CPDFInkAnnotation+PDFListView.m in Sources */,
 				9F1F82F329373D6E0092C4B4 /* String+KMExtensions.swift in Sources */,
 				F3B7DF9B2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */,
-
 				BBD1F77D296F9BE000343885 /* KMPageEditSettingBaseWindowController.swift in Sources */,
-
 				8931683B296E436B0073EA59 /* KMSignatureWindowController.m in Sources */,
-
 				9FDD0FB329534FEA000C4DAD /* KMGlobal.swift in Sources */,
 				BB8F4587295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
+				ADB1FE8729752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */,
 				BB1EC8122967EB5A00EC0BC3 /* KMPageEditThumbnailViewKMPageEditThumbnailView_OC.m in Sources */,
 				ADCB98C62924730000B51A03 /* KMBatchProcessingTableViewModel.swift in Sources */,
 				89D2D2DF294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */,
@@ -6411,6 +6566,7 @@
 				BB8F457B295AFB330037EA22 /* KMHeaderFooterFontInfoView.swift in Sources */,
 				9FDD0F892952FCC6000C4DAD /* KMCompLightParser.swift in Sources */,
 				BBD1F78C296FACA300343885 /* KMPageEditExtractSettingView.swift in Sources */,
+				ADB1FE8F29752F7000ED072D /* KMBatchBackgroundView.swift in Sources */,
 				AD44D653292C9E7900A94554 /* KMImageToPDFChooseView.swift in Sources */,
 				89D2D2E3294C452B00BFF5FE /* KMPDFThumbnailView.swift in Sources */,
 				BB5DF1EA2959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */,
@@ -6450,6 +6606,7 @@
 				F3732334292F7B8D0013862C /* CStampSignatureObject.m in Sources */,
 				9F1FE4BE29406E4700E952CA /* URLDropTarget.m in Sources */,
 				9F705F8A291E576D005199AD /* KMTableView.swift in Sources */,
+				ADB1FEA72975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */,
 				BB86C1F328F54535005AD968 /* CPDFListView+KeyEvent.m in Sources */,
 				BB897247294C19980045787C /* KMWatermarkAdjectiveListController.swift in Sources */,
 				9F1FE4A929406E4700E952CA /* CTBrowserWindowController.m in Sources */,
@@ -6471,6 +6628,7 @@
 				ADC25DFA2923BA710080A3F6 /* KMImageToPDFWindowController.swift in Sources */,
 				BBEC00B0295C2AF300A26C98 /* KMBatesPreviewController.swift in Sources */,
 				BBC348342955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
+				ADB1FE7729752F0900ED072D /* KMBatchCompressView.swift in Sources */,
 				F37322F7292DF9410013862C /* CSelfSignAnnotation.m in Sources */,
 				9F1FE4D929406E4700E952CA /* NSString+Utils.m in Sources */,
 				ADCB98CA2924741B00B51A03 /* KMBatchProcessingView.swift in Sources */,
@@ -6483,6 +6641,7 @@
 				F37322E5292DF9410013862C /* CPDFCircleAnnotation+PDFListView.m in Sources */,
 				F3732303292DF9410013862C /* CPDFLinkAnnotation+PDFListView.m in Sources */,
 				9FAAA326290A69920046FFCE /* KMToolSetScroller.swift in Sources */,
+				ADB1FE7F29752F2900ED072D /* KMBatchSecurityView.swift in Sources */,
 				89752DC32937033F003FF08E /* KMPopMenuButtonCell.m in Sources */,
 				BB89724E294C1DCE0045787C /* KMWatermarkAdjectiveListTableCellView.swift in Sources */,
 				ADD1B6E52946C00800C3FFF7 /* KMPrintChoosePageSizePosterView.swift in Sources */,
@@ -6575,6 +6734,7 @@
 				8942F818292B678100389627 /* KMAnnotationTableCellView.swift in Sources */,
 				BB8F456A295ABDC10037EA22 /* KMWatermarkAdjectiveBaseModel.swift in Sources */,
 				9F1FE4E229406E4700E952CA /* GTMNSAnimation+Duration.m in Sources */,
+				ADB1FE9F2975303400ED072D /* KMBatchBatesNumberView.swift in Sources */,
 				BB49ED22293F527700C82CA2 /* KMConvertExcelSettingView.swift in Sources */,
 				9F705F77291A3A84005199AD /* KMHistoryFileDeleteWindowController.swift in Sources */,
 				BBC3482F29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
@@ -6628,6 +6788,7 @@
 				9FDD0FB8295D5230000C4DAD /* KMToolbarController.swift in Sources */,
 				BB162E98295062CD0088E9D1 /* KMPageRangeTools.swift in Sources */,
 				89316853296E45CA0073EA59 /* KMImageAccessoryController.m in Sources */,
+				ADB1FE972975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */,
 				BBA8B7A42935CD740097D183 /* KMRemovePasswordAlertWindowController.swift in Sources */,
 				F37322EE292DF9410013862C /* CPDFMarkupAnnotation+PDFListView.m in Sources */,
 				9F1FE4FA29406E4700E952CA /* CTTabStripView.m in Sources */,
@@ -6652,6 +6813,7 @@
 				F37322E8292DF9410013862C /* CPDFAnnotationModel.m in Sources */,
 				BB6DD822293497B6001F0544 /* KMSecureEncryptModel.swift in Sources */,
 				AD9527BB295291F20039D2BC /* KMPrintPage.swift in Sources */,
+				ADB1FE6F29752BB700ED072D /* KMBatchConverPDFView.swift in Sources */,
 				BB8F4558295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.swift in Sources */,
 				BBC745F8296178BD0072C2ED /* KMCropTools.swift in Sources */,
 				ADD1B6D82946BDFD00C3FFF7 /* KMPrintChoosePageSizeView.swift in Sources */,
@@ -6840,6 +7002,7 @@
 				ADD1B6AD2941E97F00C3FFF7 /* KMPrintWindowController.swift in Sources */,
 				9FDD0FB029534FDC000C4DAD /* KMCompLight.swift in Sources */,
 				8942F80129260EC700389627 /* KMLeftMethodMode.swift in Sources */,
+				ADB1FE9029752F7000ED072D /* KMBatchBackgroundView.swift in Sources */,
 				F3732310292DF9410013862C /* CPDFInkAnnotation+PDFListView.m in Sources */,
 				BBC745F4295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */,
 				F34BF92329530320002C25A2 /* NSString+PDFListView.m in Sources */,
@@ -6905,6 +7068,7 @@
 				BBEC00DB295C39FD00A26C98 /* KMBatesPropertyInfoController.swift in Sources */,
 				9F1FE4AA29406E4700E952CA /* CTBrowserWindowController.m in Sources */,
 				BBC348042955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
+				ADB1FEA82975305500ED072D /* KMBatchBatchRemoveView.swift in Sources */,
 				AD9527DD2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
 				9FDD0FB9295D5230000C4DAD /* KMToolbarController.swift in Sources */,
 				9F1F82F0293609F60092C4B4 /* CPDFDocument+PageEditManager.swift in Sources */,
@@ -6912,6 +7076,7 @@
 				89E4E7022963D4A0002DBA6F /* KMComboBox.m in Sources */,
 				F3B7DFAB294C545B00333201 /* NSPopover+PDFListView.m in Sources */,
 				BB89722B294B08720045787C /* KMWatermarkAdjectiveTopBarItemModel.swift in Sources */,
+				ADB1FEA02975303400ED072D /* KMBatchBatesNumberView.swift in Sources */,
 				BB8F4541295A98960037EA22 /* KMHeaderFooterPropertyController.swift in Sources */,
 				BBFE6E6F2930D9C600142C01 /* KMMergeSettingWindowController.swift in Sources */,
 				BB49ECF3293F40F500C82CA2 /* KMConvertPageRangeSettingItemView.swift in Sources */,
@@ -6922,7 +7087,9 @@
 				ADD1B6A729416FE800C3FFF7 /* KMOCRPresenter.swift in Sources */,
 				F3732313292DF9410013862C /* CPDFSignatureWidgetAnnotation+PDFListView.m in Sources */,
 				89E4E7842967BF5A002DBA6F /* KMCustomizeStampViewController.m in Sources */,
+				ADB1FE8029752F2900ED072D /* KMBatchSecurityView.swift in Sources */,
 				BBC3485029582920008D2CD1 /* KMBackgroundColorView.swift in Sources */,
+				ADB1FE982975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */,
 				BBC3483029559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				F3732313292DF9410013862C /* CPDFSignatureWidgetAnnotation+PDFListView.m in Sources */,
 				BB897258294C559F0045787C /* KMWatermarkPropertyCreateController.swift in Sources */,
@@ -7044,6 +7211,7 @@
 				BB49ED08293F461500C82CA2 /* KMConvertCSVWindowController.swift in Sources */,
 				ADB2D6E8294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */,
 				89E4E7372964148E002DBA6F /* KMAnnotationPropertiesViewController.m in Sources */,
+				ADB1FE8829752F4C00ED072D /* KMBatchWatermarkView.swift in Sources */,
 				F37322F8292DF9410013862C /* CSelfSignAnnotation.m in Sources */,
 				BB8F457C295AFB330037EA22 /* KMHeaderFooterFontInfoView.swift in Sources */,
 				BB8F4584295B0F900037EA22 /* KMHeaderFooterMarginInfoView.swift in Sources */,
@@ -7154,9 +7322,11 @@
 				8942F7EB2925E1C400389627 /* KMLiftSideCellView.swift in Sources */,
 				BB86C20C28F5569F005AD968 /* NSGeometry_SKExtensions.m in Sources */,
 				9F1F82D4292F6D510092C4B4 /* KMPDFInsertPreviewViewController.swift in Sources */,
+				ADB1FE7029752BB700ED072D /* KMBatchConverPDFView.swift in Sources */,
 				9F705F8F291E579F005199AD /* KMHistoryFileTableView.swift in Sources */,
 				9F0CB4812967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.swift in Sources */,
 				BB49ECE7293EF54800C82CA2 /* KMCustomPDFView.swift in Sources */,
+				ADB1FE7829752F0900ED072D /* KMBatchCompressView.swift in Sources */,
 				89E4E71F2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */,
 				9F1F82C5292F113A0092C4B4 /* KMHomeDragView.swift in Sources */,
 				AD4B45732940B0000076FA14 /* KMOCRModel.swift in Sources */,

+ 4 - 20
PDF Office/PDF Office.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -669,22 +669,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "422CEF8D-19C9-4982-892E-6104570A1035"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/KMBatchCollectionView.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "107"
-            endingLineNumber = "107"
-            landmarkName = "collectionView(_:itemForRepresentedObjectAt:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -775,8 +759,8 @@
             filePath = "PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/KMBatchCollectionView.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "86"
-            endingLineNumber = "86"
+            startingLineNumber = "89"
+            endingLineNumber = "89"
             landmarkName = "collectionView(_:didSelectItemsAt:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -791,8 +775,8 @@
             filePath = "PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/KMBatchCollectionView.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "93"
-            endingLineNumber = "93"
+            startingLineNumber = "100"
+            endingLineNumber = "100"
             landmarkName = "KMBatchCollectionView"
             landmarkType = "21">
          </BreakpointContent>

+ 8 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/KMBatchWindowController.swift

@@ -31,6 +31,7 @@ class KMBatchWindowController: NSWindowController {
     
     
     func setup() {
+        self.batchCollectionView.delegate = self
         
         self.batchPrecessingView.delegate = self
         self.batchPrecessingView.inputType = self.inputType
@@ -75,3 +76,10 @@ extension KMBatchWindowController: KMBatchProcessingViewDelegate {
         self.batchData = data
     }
 }
+
+extension KMBatchWindowController: KMBatchCollectionViewDelegate {
+    func didSelect(index: IndexPath, data: KMBatchCollectionViewModel) {
+        print(data.type.rawValue)
+    }
+    
+}

+ 14 - 2
PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/KMBatchCollectionView.swift

@@ -12,7 +12,7 @@ class KMBatchCollectionView: NSView {
     
     @IBOutlet weak var collectionView: NSCollectionView!
     
-//    weak var delegate: KMBatchProcessingViewDelegate?
+    var delegate: KMBatchCollectionViewDelegate?
 //    var inputType: DataNavigationViewButtonActionType?
 //
 //    /**
@@ -33,6 +33,10 @@ class KMBatchCollectionView: NSView {
         // Drawing code here.
     }
     
+    deinit {
+        self.delegate = nil
+    }
+    
     // MARK: 初始化
     public required init?(coder decoder: NSCoder) {
         super.init(coder: decoder)
@@ -77,7 +81,6 @@ extension KMBatchCollectionView: KMBatchCollectionViewPrensenterDelegate {
 extension KMBatchCollectionView: NSCollectionViewDelegate {
     //当item被选中
     public func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
-        print("点击")
         for item in self.data {
             item.isSelect = false
         }
@@ -85,6 +88,10 @@ extension KMBatchCollectionView: NSCollectionViewDelegate {
         let view = collectionView.item(at: indexPaths.first!) as! KMBatchCollectionViewItem
         view.model.isSelect = true
         self.collectionView.reloadData()
+        
+        if self.delegate != nil {
+            self.delegate?.didSelect(index: indexPaths.first!, data: view.model)
+        }
     }
     
 //   //当item取消选中
@@ -120,5 +127,10 @@ extension KMBatchCollectionView: NSCollectionViewDelegateFlowLayout {
     }
 }
 
+//MARK: KMBatchCollectionViewDelegate
+protocol KMBatchCollectionViewDelegate: NSObject {
+    func didSelect(index: IndexPath, data: KMBatchCollectionViewModel)
+}
+
 
 

+ 29 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/Model/KMBatchCollectionViewModel.swift

@@ -7,8 +7,37 @@
 
 import Cocoa
 
+enum KMBatchCollectionViewType: String {
+    case convertPDF = "ConvertPDF"
+    case compress = "Compress"
+    case security = "Security"
+    case watermark = "Watermark"
+    case background = "Background"
+    case headerAndFooter = "Header & Footer"
+    case batesNumber = "Bates Number"
+    case batchRemove = "Batch Remove"
+    
+    static func typeOfRawVale(value: String) -> KMBatchCollectionViewType {
+        var type: KMBatchCollectionViewType
+        switch value {
+        case "ConvertPDF": type = .convertPDF
+        case "Compress": type = .compress
+        case "Security": type = .security
+        case "Watermark": type = .watermark
+        case "Background": type = .background
+        case "Header & Footer": type = .headerAndFooter
+        case "Bates Number": type = .batesNumber
+        case "Batch Remove": type = .batchRemove
+        default:
+            type = .convertPDF
+        }
+        return type
+    }
+}
+
 class KMBatchCollectionViewModel: NSObject {
     var imageString: String = ""
     var title: String = ""
     var isSelect: Bool = false
+    var type: KMBatchCollectionViewType = .convertPDF
 }

+ 2 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/BatchCollectionView/Presenter/KMBatchCollectionViewPrensenter.swift

@@ -55,6 +55,8 @@ extension KMBatchCollectionViewPrensenter: KMBatchCollectionViewPrensenterProtoc
             model.imageString = dic["image"] as! String
             model.title = dic["title"] as! String
             model.isSelect = dic["isSelect"] as! Bool
+            
+            model.type = KMBatchCollectionViewType.typeOfRawVale(value: dic["title"] as! String)
             self.modelData.append(model)
         }
         

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Background/KMBatchBackgroundView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchBackgroundView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchBackgroundView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Background/KMBatchBackgroundView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchBackgroundView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="47" y="-72"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatchRemove/KMBatchBatchRemoveView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchBatchRemoveView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchBatchRemoveView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatchRemove/KMBatchBatchRemoveView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchBatchRemoveView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatesNumber/KMBatchBatesNumberView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchBatesNumberView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchBatesNumberView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/BatesNumber/KMBatchBatesNumberView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchBatesNumberView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Compress/KMBatchCompressView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchCompressView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchCompressView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Compress/KMBatchCompressView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchCompressView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/ConverPDF/KMBatchConverPDFView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchConverPDFView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchConverPDFView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/ConverPDF/KMBatchConverPDFView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchConverPDFView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="47" y="-72"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Header&Footer/KMBatchHeaderAndFooterView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchHeaderAndFooterView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchHeaderAndFooterView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Header&Footer/KMBatchHeaderAndFooterView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchHeaderAndFooterView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Security/KMBatchSecurityView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchSecurityView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchSecurityView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Security/KMBatchSecurityView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchSecurityView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Watermark/KMBatchWatermarkView.swift

@@ -0,0 +1,18 @@
+//
+//  KMBatchWatermarkView.swift
+//  PDF Office
+//
+//  Created by lizhe on 2023/1/16.
+//
+
+import Cocoa
+
+class KMBatchWatermarkView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 18 - 0
PDF Office/PDF Office/Class/PDFTools/Batch/View/Choose/Watermark/KMBatchWatermarkView.xib

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchWatermarkView" customModule="PDF_Office" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <point key="canvasLocation" x="-33" y="114"/>
+        </customView>
+    </objects>
+</document>