// // PublicKey.swift // PDF Reader Pro // // Created by lxy on 2022/12/1. // import Foundation /// Main Tool let KMLeftControlToolbarItemIdentifier = "KMLeftControlToolbarItemIdentifier" let KMDocumentZoomViewToolbarItemIdentifier = "KMDocumentZoomViewToolbarItemIdentifier" let KMDocumentPreviousPageToolbarItemIdentifier = "KMDocumentPreviousPageToolbarItemIdentifier" let KMDocumentHomeToolbarItemIdentifier = "KMDocumentHomeToolbarItemIdentifier" let KMDocumentAnnotationToolbarItemIdentifier = "KMDocumentAnnotationToolbarItemIdentifier" let KMDocumentPageToolbarItemIdentifier = "KMDocumentPageToolbarItemIdentifier" let KMDocumentConversonToolbarItemIdentifier = "KMDocumentConversonToolbarItemIdentifier" let KMDocumentScanOCRToolbarItemIdentifier = "KMDocumentScanOCRToolbarItemIdentifier" let KMDocumentFormToolbarItemIdentifier = "KMDocumentFormToolbarItemIdentifier" let KMDocumentEditToolbarItemIdentifier = "KMDocumentPageEditToolbarItemIdentifier" let KMDocumentFillSginToolbarItemIdentifier = "KMDocumentFillSginToolbarItemIdentifier" let KMDocumentToolToolbarItemIdentifier = "KMDocumentToolToolbarItemIdentifier" let KMDocumentRedactToolbarItemIdentifier = "KMDocumentRedactToolbarItemIdentifier" let KMDocumentDigitalSignToolbarItemIdentifier = "KMDocumentDigitalSignToolbarItemIdentifier" let KMDocumentSignToolbarItemIdentifier = "KMDocumentSignToolbarItemIdentifier" let KMDocumentViewDisplayToolbarItemIdentifier = "KMDocumentViewDisplayToolbarItemIdentifier" let KMDocumentPrintToolbarItemIdentifier = "KMDocumentPrintToolbarItemIdentifier" let KMDocumentAITranslationToolbarItemIdentifier = "KMDocumentAITranslationToolbarItemIdentifier" let KMDocumentShareToolbarItemIdentifier = "KMDocumentShareToolbarItemIdentifier" let KMDocumentSearchToolbarItemIdentifier = "KMDocumentSearchToolbarItemIdentifier" let KMRightControlToolbarItemIdentifier = "KMRightControlToolbarItemIdentifier" let KMDocumentAIToolsToolbarItemIdentifier = "KMDocumentAIToolsToolbarItemIdentifier" let KMDocumentPageInputToolbarItemIdentifier = "KMDocumentPageInputToolbarItemIdentifier" let KMDocumentPreviousBackToolbarItemIdentifier = "previousBackItemIdentifier" let KMDocumentFirstLastToolbarItemIdentifier = "firstLastItemIdentifier" let KMDocumentPageIndicatorToolbarItemIdentifier = "pageIndicatorItemIdentifier" let KMDocumentPresentationToolbarItemIdentifier = "presentationItemIdentifier" let mainToolIdentifiers = [KMLeftControlToolbarItemIdentifier, KMDocumentZoomViewToolbarItemIdentifier, KMDocumentPreviousPageToolbarItemIdentifier, KMDocumentHomeToolbarItemIdentifier, KMDocumentAnnotationToolbarItemIdentifier, KMDocumentPageToolbarItemIdentifier, KMDocumentConversonToolbarItemIdentifier,KMDocumentRedactToolbarItemIdentifier,KMDocumentAIToolsToolbarItemIdentifier,KMDocumentViewDisplayToolbarItemIdentifier,KMDocumentScanOCRToolbarItemIdentifier, KMDocumentFormToolbarItemIdentifier, KMDocumentEditToolbarItemIdentifier, KMDocumentDigitalSignToolbarItemIdentifier,KMDocumentSignToolbarItemIdentifier, KMDocumentFillSginToolbarItemIdentifier, KMDocumentToolToolbarItemIdentifier, KMDocumentPrintToolbarItemIdentifier, KMDocumentShareToolbarItemIdentifier, KMDocumentSearchToolbarItemIdentifier, KMRightControlToolbarItemIdentifier, KMDocumentPreviousBackToolbarItemIdentifier, KMDocumentFirstLastToolbarItemIdentifier, // KMDocumentPageIndicatorToolbarItemIdentifier, KMDocumentPresentationToolbarItemIdentifier, KMDocumentPageInputToolbarItemIdentifier] /// annotation // let KMToolbarMoveToolModeItemIdentifier = "KMToolbarPreviousItemIdentifier" let KMToolbarMagnifyToolModeItemIdentifier = "KMToolbarMagnifyToolModeItemIdentifier" let KMToolbarSelectToolModeItemIdentifier = "KMToolbarSelectToolModeItemIdentifier" let KMToolbarZoomToSelectionItemIdentifier = "KMToolbarZoomToSelectionItemIdentifier" let KMToolbarHighlightAnnotationItemIdentifier = "KMToolbarHighlightAnnotationItemIdentifier" let KMToolbarUnderlineAnnotationItemIdentifier = "KMToolbarUnderlineAnnotationItemIdentifier" let KMToolbarStrikeOutAnnotationItemIdentifier = "KMToolbarStrikeOutAnnotationItemIdentifier" let KMToolbarSquigglyAnnotationItemIdentifier = "KMToolbarSquigglyAnnotationItemIdentifier" let KMToolbarInkAnnotationItemIdentifier = "KMToolbarInkAnnotationItemIdentifier" let KMToolbarEraserAnnotationItemIdentifier = "KMToolbarEraserAnnotationItemIdentifier" let KMToolbarFreeTextAnnotationItemIdentifier = "KMToolbarFreeTextAnnotationItemIdentifier" let KMToolbarAnchoredAnnotationItemIdentifier = "KMToolbarAnchoredAnnotationItemIdentifier" let KMToolbarSquareAnnotationItemIdentifier = "KMToolbarSquareAnnotationItemIdentifier" let KMToolbarCircleAnnotationItemIdentifier = "KMToolbarCircleAnnotationItemIdentifier" let KMToolbarLineAnnotationItemIdentifier = "KMToolbarLineAnnotationItemIdentifier" let KMToolbarArrowAnnotationItemIdentifier = "KMToolbarArrowAnnotationItemIdentifier" let KMToolbarLinkAnnotationItemIdentifier = "KMToolbarLinkAnnotationItemIdentifier" let KMToolbarSignSignatureAnnotationItemIdentifier = "KMToolbarSignatureAnnotationItemIdentifier" let KMAnnotationStampToolbarItemIdentifier = "KMToolbarStampAnnotationItemIdentifier" let KMAnnotationImageToolbarItemIdentifier = "KMToolbarImageAnnotationItemIdentifier" let KMAnnotationTableToolbarItemIdentifier = "KMToolbarTableAnnotationItemIdentifier" let KMToolbarShowToolbarItemIdentifier = "KMToolbarShowToolbarItemIdentifier" let KMToolbarAnnotationSettingItemIdentifier = "KMToolbarAnnotationSettingItemIdentifier" let annotationToolIdentifiers = [KMToolbarMoveToolModeItemIdentifier, KMToolbarMagnifyToolModeItemIdentifier, KMToolbarSelectToolModeItemIdentifier, KMToolbarZoomToSelectionItemIdentifier, KMToolbarHighlightAnnotationItemIdentifier, KMToolbarUnderlineAnnotationItemIdentifier, KMToolbarStrikeOutAnnotationItemIdentifier, KMToolbarSquigglyAnnotationItemIdentifier, KMToolbarInkAnnotationItemIdentifier, KMToolbarEraserAnnotationItemIdentifier, KMToolbarFreeTextAnnotationItemIdentifier, KMToolbarAnchoredAnnotationItemIdentifier, KMToolbarSquareAnnotationItemIdentifier, KMToolbarCircleAnnotationItemIdentifier, KMToolbarLineAnnotationItemIdentifier, KMToolbarArrowAnnotationItemIdentifier, KMToolbarLinkAnnotationItemIdentifier, KMToolbarSignSignatureAnnotationItemIdentifier, KMAnnotationStampToolbarItemIdentifier, KMAnnotationImageToolbarItemIdentifier, KMAnnotationTableToolbarItemIdentifier, KMToolbarAnnotationSettingItemIdentifier, KMToolbarShowToolbarItemIdentifier] // PageEdit let KMToolbarPageEditPageRangeItemIdentifier = "KMToolbarPageEditPageRangeItemIdentifier" let KMToolbarPageEditRotateItemIdentifier = "KMToolbarPageEditRotateItemIdentifier" let KMToolbarPageEditLeftRotateItemIdentifier = "KMToolbarPageEditLeftRotateItemIdentifier" let KMToolbarPageEditRightRotateItemIdentifier = "KMToolbarPageEditRightRotateItemIdentifier" let KMToolbarPageEditInsetItemIdentifier = "KMToolbarPageEditInsertItemIdentifier" let KMToolbarPageEditExtractItemIdentifier = "KMToolbarPageEditExtractItemIdentifier" let KMToolbarPageEditReplaceItemIdentifier = "KMToolbarPageEditReplaceItemIdentifier" let KMToolbarPageEditSplitItemIdentifier = "KMToolbarPageEditSplitItemIdentifier" let KMToolbarPageEditReverseItemIdentifier = "KMToolbarPageEditReverseItemIdentifier" let KMToolbarPageEditCopyItemIdentifier = "KMToolbarPageEditCopyItemIdentifier" let KMToolbarPageEditPasteItemIdentifier = "KMToolbarPageEditPasteItemIdentifier" let KMToolbarPageEditDeleteItemIdentifier = "KMToolbarPageEditDeleteItemIdentifier" let pageEditToolIdentifiers = [KMToolbarPageEditPageRangeItemIdentifier, KMToolbarPageEditRotateItemIdentifier, KMToolbarPageEditLeftRotateItemIdentifier,KMToolbarPageEditRightRotateItemIdentifier, KMToolbarPageEditInsetItemIdentifier, KMToolbarPageEditExtractItemIdentifier, KMToolbarPageEditReplaceItemIdentifier, KMToolbarPageEditSplitItemIdentifier, KMToolbarPageEditReverseItemIdentifier, KMToolbarPageEditCopyItemIdentifier, KMToolbarPageEditPasteItemIdentifier, KMToolbarPageEditDeleteItemIdentifier] // conversion let KMToolbarConversionCreatePDFItemIdentifier = "KMToolbarImageToPDFItemIdentifier" let KMToolbarConversionWordItemIdentifier = "KMToolbarPDFToWordItemIdentifier" let KMToolbarConversionExcelItemIdentifier = "KMToolbarPDFToExcelItemIdentifier" let KMToolbarConversionPPTItemIdentifier = "KMToolbarPDFToPPTItemIdentifier" let KMToolbarConversionRTFItemIdentifier = "KMToolbarPDFToRTFItemIdentifier" let KMToolbarConversionCSVItemIdentifier = "KMToolbarPDFToCSVItemIdentifier" let KMToolbarConversionHTMLItemIdentifier = "KMToolbarPDFToHtmlItemIdentifier" let KMToolbarConversionTextItemIdentifier = "KMToolbarPDFToTextItemIdentifier" let KMToolbarConversionImageItemIdentifier = "KMToolbarPDFToImageItemIdentifier" let KMToolbarConversionImageToPDFItemIdentifier = "KMToolbarImageToPDFNewItemIdentifier" let KMToolbarConversionOtherItemIdentifier = "KMToolbarPDFToOtherItemIdentifier" let KMToolbarConversionOCRIdentifier = "KMToolbarConversionOCRIdentifier" let KMToolbarConversionExportImageItemIdentifier = "KMToolbarExtractPDFImageItemIdentifier" let conversionToolIdentifiers = [KMToolbarConversionCreatePDFItemIdentifier, KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier, KMToolbarConversionPPTItemIdentifier, KMToolbarConversionRTFItemIdentifier, KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier, KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier, KMToolbarConversionImageToPDFItemIdentifier, KMToolbarConversionOtherItemIdentifier, KMToolbarConversionOCRIdentifier, KMToolbarConversionExportImageItemIdentifier] // EditPDF let KMToolbarAddTextEditPDFItemIdentifier = "KMToolbarAddTextEditPDFItemIdentifier" let KMToolbarAddImageEditPDFItemIdentifier = "KMToolbarAddImageEditPDFItemIdentifier" let editPDFItemIdentifiers = [KMToolbarAddTextEditPDFItemIdentifier, KMToolbarAddImageEditPDFItemIdentifier] let KMToolbarDividerItemIdentifier = "KMToolbarDividerItemIdentifier" /// Tool let KMToolbarToolCropItemIdentifier = "KMToolbarToolCropItemIdentifier" let KMToolbarToolBatesItemIdentifier = "KMToolbarBatesItemIdentifier" let KMToolbarToolHeaderFooterItemIdentifier = "KMToolbarHeaderFooterItemIdentifier" let KMToolbarToolBackgroundItemIdentifier = "KMToolbarBackgroundItemIdentifier" let KMToolbarToolWatermarkItemIdentifier = "KMToolbarWatermarkItemIdentifier" let KMToolbarToolRedactItemIdentifier = "KMToolbarToolRedactItemIdentifier" let KMToolbarToolCompressItemIdentifier = "KMToolbarCompressionItemIdentifier" let KMToolbarToolSecureItemIdentifier = "KMToolbarSecurityItemIdentifier" let KMToolbarToolMergeItemIdentifier = "KMToolbarMergeItemIdentifier" let KMToolbarComparisonItemIdentifier = "KMToolbarComparisonItemIdentifier" let KMToolbarMeasureItemIdentifier = "KMToolbarMeasureItemIdentifier" let KMToolbarAIItemIdentifier = "KMToolbarAIItemIdentifier" let toolToolIdentifiers = [KMToolbarToolCropItemIdentifier, KMToolbarToolBatesItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBackgroundItemIdentifier, KMToolbarToolWatermarkItemIdentifier, KMToolbarToolRedactItemIdentifier, KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier, KMToolbarToolMergeItemIdentifier,KMToolbarComparisonItemIdentifier, KMToolbarMeasureItemIdentifier] /// Form let KMToolbarToolTextFieldItemIdentifier = "KMToolbarFormTextFieldItemIdentifier" let KMToolbarToolCheckBoxItemIdentifier = "KMToolbarFormCheckBoxItemIdentifier" let KMToolbarToolRadioButtonItemIdentifier = "KMToolbarFormRadioButtonItemIdentifier" let KMToolbarToolListBoxItemIdentifier = "KMToolbarToolListBoxItemIdentifier" let KMToolbarToolPullDownmenuItemIdentifier = "KMToolbarFormComboBoxItemIdentifier" let KMToolbarToolButtonIdentifier = "KMToolbarFormActionButtonItemIdentifier" let KMToolbarToolSignBoxIdentifier = "KMToolbarFormSignatureButtonItemIdentifier" let KMToolbarToolFormAlignIdentifier = "KMToolbarFormAlignmentIdentifier" let KMToolbarToolFormMoreIdentifier = "KMToolbarToolFormMoreIdentifier" let formToolIdentifiers = [KMToolbarToolTextFieldItemIdentifier, KMToolbarToolCheckBoxItemIdentifier, KMToolbarToolRadioButtonItemIdentifier, KMToolbarToolListBoxItemIdentifier, KMToolbarToolPullDownmenuItemIdentifier, KMToolbarToolButtonIdentifier, KMToolbarToolSignBoxIdentifier, KMToolbarToolFormAlignIdentifier, KMToolbarToolFormMoreIdentifier] /// FillSign let KMToolbarToolHookItemIdentifier = "KMToolbarToolHookItemIdentifier" let KMToolbarToolForkItemIdentifier = "KMToolbarToolForkItemIdentifier" let KMToolbarToolLineItemIdentifier = "KMToolbarToolLineItemIdentifier" let KMToolbarToolDotItemIdentifier = "KMToolbarToolDotItemIdentifier" let KMToolbarToolRectangleIdentifier = "KMToolbarToolRectangleIdentifier" let KMToolbarToolTextIdentifier = "KMToolbarToolTextIdentifier" let KMToolbarToolDateIdentifier = "KMToolbarToolDateIdentifier" let KMToolbarToolProfileIdentifier = "KMToolbarToolProfileIdentifier" let KMToolbarFillSignSignatureIdentifier = "KMToolbarFillSignSignatureIdentifier" let fillSignToolIdentifiers = [KMToolbarToolHookItemIdentifier, KMToolbarToolForkItemIdentifier, KMToolbarToolLineItemIdentifier, KMToolbarToolDotItemIdentifier, KMToolbarToolRectangleIdentifier, KMToolbarToolTextIdentifier, KMToolbarToolDateIdentifier, KMToolbarToolProfileIdentifier, KMToolbarFillSignSignatureIdentifier] //Scan OCR let KMToolbarToolOCRTextIdentifier = "KMToolbarToolOCRTextIdentifier" let KMToolbarToolEnhancedScanIdentifier = "KMToolbarToolEnhancedScanIdentifier" let KMToolbarViewSettingIdentifier = "KMToolbarSplitScreenModeItemIdentifier" let KMToolbarCropIdentifier = "KMToolbarCropItemIdentifier" let KMToolbarSnapshotIdentifier = "KMToolbarTakeSnapshotItemIdentifier" let KMToolbarTTSIdentifier = "KMToolbarTTSViewItemIdentifier" let KMViewDisplayIdentifiers = [KMToolbarViewSettingIdentifier, KMToolbarCropIdentifier, KMToolbarSnapshotIdentifier, KMToolbarTTSIdentifier] let KMSignDigitalSignToolbarItemIdentifier = "KMSignDigitalSignToolbarItemIdentifier" let KMSignIdentifiers = [KMToolbarToolSignBoxIdentifier, KMSignDigitalSignToolbarItemIdentifier] let KMNewToolbarSpaceItemIdentifier = "KMNewToolbarSpaceItemIdentifier" //let KMToolbarDividerItemIdentifier = "KMToolbarDividerItemIdentifier" // 固定宽度 let KMToolbarFixedSpaceItemIdentifier = "fixedSpaceItemIdentifier" // 可变宽度 let KMToolbarFlexibleSpaceItemIdentifier = "flexibleSpaceItemIdentifier" let KMToolBarToolPDFShapeStyle = "KMToolBarToolPDFShapeStyle" public func parentIdentifier(_ identifier: String) -> String { if (isMainToolItem(identifier)) { return "" } if (editPDFItemIdentifiers.contains(identifier)) { return KMDocumentEditToolbarItemIdentifier } if (annotationToolIdentifiers.contains(identifier)) { return KMDocumentAnnotationToolbarItemIdentifier } if (pageEditToolIdentifiers.contains(identifier)) { return KMDocumentPageToolbarItemIdentifier } if (conversionToolIdentifiers.contains(identifier)) { return KMDocumentConversonToolbarItemIdentifier } if (toolToolIdentifiers.contains(identifier)) { return KMDocumentToolToolbarItemIdentifier } if (formToolIdentifiers.contains(identifier)) { return KMDocumentFormToolbarItemIdentifier } if (fillSignToolIdentifiers.contains(identifier)) { return KMDocumentFillSginToolbarItemIdentifier } if KMViewDisplayIdentifiers.contains(identifier) { return KMDocumentViewDisplayToolbarItemIdentifier } return "" } public func isMainToolItem(_ identifier: String) -> Bool { if (mainToolIdentifiers.contains(identifier)) { return true } return false } @objc enum KMToolbarType: Int { /// conversion case word = 3000 case excel = 3001 case ppt = 3002 case rtf = 3003 case csv = 3004 case html = 3005 case conversion_text = 3006 case conversion_image = 3007 case conversion_imageToPDF = 3008 case conversion_other = 3009 case json = 3010 /// tool case compress = 8000 case merge = 8001 case fileCompare = 8002 case secure = 8003 case redact = 8004 case watermark = 8005 case background = 8006 case headerAndFooter = 8007 case bates = 8008 case crop = 8009 case comparison = 8010 case aiTools = 8011 case measure = 8012 } @objc enum KMToolbarViewType : Int { case None case Main case Annatiton case Page case Conversion case ScanOCR case editPDF case Form case FillSign case Tool case redact case Move case Magnify case Select case SelectZoom case LeftPanel case RightPanel case viewSetting case sign case AITools func isToolMode() -> Bool { return (self == .Move || self == .Magnify || self == .Select || self == .SelectZoom) } func itemIdentifier() -> String { if (self == .Annatiton) { return KMDocumentAnnotationToolbarItemIdentifier } else if (self == .Page) { return KMDocumentPageToolbarItemIdentifier } else if (self == .Conversion) { return KMDocumentConversonToolbarItemIdentifier } else if (self == .ScanOCR) { return KMDocumentScanOCRToolbarItemIdentifier } else if (self == .editPDF) { return KMDocumentEditToolbarItemIdentifier } else if (self == .Form) { return KMDocumentFormToolbarItemIdentifier } else if (self == .FillSign) { return KMDocumentFillSginToolbarItemIdentifier } else if (self == .Tool) { return KMDocumentToolToolbarItemIdentifier } else if (self == .Move) { return KMToolbarMoveToolModeItemIdentifier } else if (self == .Magnify) { return KMToolbarMagnifyToolModeItemIdentifier } else if (self == .Select) { return KMToolbarSelectToolModeItemIdentifier } else if (self == .SelectZoom) { return KMToolbarZoomToSelectionItemIdentifier } else if (self == .LeftPanel) { return KMLeftControlToolbarItemIdentifier } else if (self == .RightPanel) { return KMRightControlToolbarItemIdentifier } else if (self == .AITools) { return KMDocumentAIToolsToolbarItemIdentifier } return "" } }