From 9744b738bac4629b8568c85ff8630231917cb34a Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sun, 29 Sep 2024 16:13:35 +0800 Subject: [PATCH] add pad2txt tools --- src/views/tools_view.py | 14 ++ web/src/components/ConvertToTxtComponent.vue | 183 +++++++++++++++++++ web/src/router/index.js | 5 + 3 files changed, 202 insertions(+) create mode 100644 web/src/components/ConvertToTxtComponent.vue diff --git a/src/views/tools_view.py b/src/views/tools_view.py index 86fb3f00..14384838 100644 --- a/src/views/tools_view.py +++ b/src/views/tools_view.py @@ -20,6 +20,13 @@ def route_index(): "description": "将文本分块以更好地理解。可以输入文本或者上传文件。", "url": "/tools/text_chunking", "method": "POST", + }, + { + "name": "pdf2txt", + "title": "PDF转文本", + "description": "将PDF文件转换为文本文件。", + "url": "/tools/pdf2txt", + "method": "POST", } ] @@ -32,3 +39,10 @@ def text_chunking(): text = request.json.get("text") nodes = chunk(text, params=request.json) return jsonify({"nodes": [node.to_dict() for node in nodes]}) + +@tools.route("/pdf2txt", methods=["POST"]) +def handle_pdf2txt(): + from src.plugins import pdf2txt + file = request.json.get("file") + text = pdf2txt(file, return_text=True) + return jsonify({"text": text}) diff --git a/web/src/components/ConvertToTxtComponent.vue b/web/src/components/ConvertToTxtComponent.vue new file mode 100644 index 00000000..a7c87741 --- /dev/null +++ b/web/src/components/ConvertToTxtComponent.vue @@ -0,0 +1,183 @@ + + + + + \ No newline at end of file diff --git a/web/src/router/index.js b/web/src/router/index.js index b9a41213..25b495a6 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -91,6 +91,11 @@ const router = createRouter({ name: 'TextChunking', component: () => import('../components/TextChunkingComponent.vue'), }, + { + path: 'pdf2txt', + name: 'PDF_to_TXT', + component: () => import('../components/ConvertToTxtComponent.vue'), + }, ] }, {