From e6f54a3f2b863b219c9d4705baa09b1a06445189 Mon Sep 17 00:00:00 2001 From: "Ibrahima G. Coulibaly" Date: Wed, 26 Mar 2025 05:43:59 +0000 Subject: [PATCH 1/2] feat: split pdf --- .idea/workspace.xml | 106 ++++++----- package-lock.json | 37 ++++ package.json | 1 + src/components/ToolContent.tsx | 32 ++-- src/pages/tools/pdf/index.ts | 4 + src/pages/tools/pdf/split-pdf/index.tsx | 180 ++++++++++++++++++ src/pages/tools/pdf/split-pdf/meta.ts | 13 ++ src/pages/tools/pdf/split-pdf/service.test.ts | 43 +++++ src/pages/tools/pdf/split-pdf/service.ts | 66 +++++++ src/tools/defineTool.tsx | 3 +- src/tools/index.ts | 10 +- 11 files changed, 427 insertions(+), 68 deletions(-) create mode 100644 src/pages/tools/pdf/index.ts create mode 100644 src/pages/tools/pdf/split-pdf/index.tsx create mode 100644 src/pages/tools/pdf/split-pdf/meta.ts create mode 100644 src/pages/tools/pdf/split-pdf/service.test.ts create mode 100644 src/pages/tools/pdf/split-pdf/service.ts diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8e88558..279b0b4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,9 +5,17 @@ + + + + + - - + + + + + - { + "keyToString": { + "ASKED_ADD_EXTERNAL_FILES": "true", + "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true", + "Docker.Dockerfile build.executor": "Run", + "Docker.Dockerfile.executor": "Run", + "Playwright.Create transparent PNG.should make png color transparent.executor": "Run", + "Playwright.JoinText Component.executor": "Run", + "Playwright.JoinText Component.should merge text pieces with specified join character.executor": "Run", + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "RunOnceActivity.git.unshallow": "true", + "Vitest.compute function (1).executor": "Run", + "Vitest.compute function.executor": "Run", + "Vitest.mergeText.executor": "Run", + "Vitest.mergeText.should merge lines and preserve blank lines when deleteBlankLines is false.executor": "Run", + "Vitest.mergeText.should merge lines, preserve blank lines and trailing spaces when both deleteBlankLines and deleteTrailingSpaces are false.executor": "Run", + "Vitest.removeDuplicateLines function.executor": "Run", + "Vitest.removeDuplicateLines function.newlines option.executor": "Run", + "Vitest.removeDuplicateLines function.newlines option.should filter newlines when newlines is set to filter.executor": "Run", + "Vitest.replaceText function (regexp mode).should return the original text when passed an invalid regexp.executor": "Run", + "Vitest.replaceText function.executor": "Run", + "git-widget-placeholder": "main", + "ignore.virus.scanning.warn.message": "true", + "kotlin-language-version-configured": "true", + "last_opened_file_path": "C:/Users/Ibrahima/IdeaProjects/omni-tools/src/pages/tools/list/duplicate/index.tsx", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "npm.build.executor": "Run", + "npm.dev.executor": "Run", + "npm.lint.executor": "Run", + "npm.prebuild.executor": "Run", + "npm.script:create:tool.executor": "Run", + "npm.test.executor": "Run", + "npm.test:e2e.executor": "Run", + "npm.test:e2e:run.executor": "Run", + "prettierjs.PrettierConfiguration.Package": "C:\\Users\\Ibrahima\\IdeaProjects\\omni-tools\\node_modules\\prettier", + "project.structure.last.edited": "Problems", + "project.structure.proportion": "0.0", + "project.structure.side.proportion": "0.2", + "settings.editor.selected.configurable": "refactai_advanced_settings", + "ts.external.directory.path": "C:\\Users\\Ibrahima\\IdeaProjects\\omni-tools\\node_modules\\typescript\\lib", + "vue.rearranger.settings.migration": "true" } -}]]> +} - - - - - - + + - - - - - + + + + - { - "keyToString": { - "ASKED_ADD_EXTERNAL_FILES": "true", - "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true", - "Docker.Dockerfile build.executor": "Run", - "Docker.Dockerfile.executor": "Run", - "Playwright.Create transparent PNG.should make png color transparent.executor": "Run", - "Playwright.JoinText Component.executor": "Run", - "Playwright.JoinText Component.should merge text pieces with specified join character.executor": "Run", - "RunOnceActivity.OpenProjectViewOnStart": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "RunOnceActivity.git.unshallow": "true", - "Vitest.compute function (1).executor": "Run", - "Vitest.compute function.executor": "Run", - "Vitest.mergeText.executor": "Run", - "Vitest.mergeText.should merge lines and preserve blank lines when deleteBlankLines is false.executor": "Run", - "Vitest.mergeText.should merge lines, preserve blank lines and trailing spaces when both deleteBlankLines and deleteTrailingSpaces are false.executor": "Run", - "Vitest.removeDuplicateLines function.executor": "Run", - "Vitest.removeDuplicateLines function.newlines option.executor": "Run", - "Vitest.removeDuplicateLines function.newlines option.should filter newlines when newlines is set to filter.executor": "Run", - "Vitest.replaceText function (regexp mode).should return the original text when passed an invalid regexp.executor": "Run", - "Vitest.replaceText function.executor": "Run", - "git-widget-placeholder": "main", - "ignore.virus.scanning.warn.message": "true", - "kotlin-language-version-configured": "true", - "last_opened_file_path": "C:/Users/Ibrahima/IdeaProjects/omni-tools/src/pages/tools/list/duplicate/index.tsx", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "npm.build.executor": "Run", - "npm.dev.executor": "Run", - "npm.lint.executor": "Run", - "npm.prebuild.executor": "Run", - "npm.script:create:tool.executor": "Run", - "npm.test.executor": "Run", - "npm.test:e2e.executor": "Run", - "npm.test:e2e:run.executor": "Run", - "prettierjs.PrettierConfiguration.Package": "C:\\Users\\Ibrahima\\IdeaProjects\\omni-tools\\node_modules\\prettier", - "project.structure.last.edited": "Problems", - "project.structure.proportion": "0.0", - "project.structure.side.proportion": "0.2", - "settings.editor.selected.configurable": "refactai_advanced_settings", - "ts.external.directory.path": "C:\\Users\\Ibrahima\\IdeaProjects\\omni-tools\\node_modules\\typescript\\lib", - "vue.rearranger.settings.migration": "true" + +}]]> + - @@ -188,7 +184,7 @@ - + @@ -202,6 +198,19 @@ + + + + + + + + + + + + + @@ -232,16 +241,6 @@ - - - - -