lightpdf-aipdf-mcp 0.1.121__py3-none-any.whl → 0.1.123__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lightpdf_aipdf_mcp/editor.py +1 -2
- lightpdf_aipdf_mcp/server.py +21 -13
- {lightpdf_aipdf_mcp-0.1.121.dist-info → lightpdf_aipdf_mcp-0.1.123.dist-info}/METADATA +1 -1
- {lightpdf_aipdf_mcp-0.1.121.dist-info → lightpdf_aipdf_mcp-0.1.123.dist-info}/RECORD +6 -6
- {lightpdf_aipdf_mcp-0.1.121.dist-info → lightpdf_aipdf_mcp-0.1.123.dist-info}/WHEEL +0 -0
- {lightpdf_aipdf_mcp-0.1.121.dist-info → lightpdf_aipdf_mcp-0.1.123.dist-info}/entry_points.txt +0 -0
lightpdf_aipdf_mcp/editor.py
CHANGED
@@ -99,8 +99,7 @@ class Editor(BaseApiClient):
|
|
99
99
|
if split_type == "page":
|
100
100
|
extra_params["pages"] = pages
|
101
101
|
extra_params["merge_all"] = merge_all
|
102
|
-
|
103
|
-
|
102
|
+
|
104
103
|
# 记录操作描述
|
105
104
|
operation_details = f"类型: {split_type}"
|
106
105
|
if split_type == "page":
|
lightpdf_aipdf_mcp/server.py
CHANGED
@@ -196,7 +196,6 @@ async def process_edit_file(
|
|
196
196
|
original_name=original_name
|
197
197
|
)
|
198
198
|
elif edit_type == "split":
|
199
|
-
# 支持split_type: every(每页)、page(按页范围)、outline(按书签/大纲/目录)
|
200
199
|
return await editor.split_pdf(
|
201
200
|
file_path=file_path,
|
202
201
|
pages=extra_params.get("pages", ""),
|
@@ -356,25 +355,36 @@ async def process_tool_call(
|
|
356
355
|
),
|
357
356
|
"PDF转Markdown"
|
358
357
|
)
|
358
|
+
|
359
359
|
report_msg = generate_result_report(results)
|
360
360
|
elif format == "pdf":
|
361
361
|
# 只调用一次process_batch_files,在lambda里分流
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
362
|
+
async def pdf_convert_dispatcher(file_path, password, original_name):
|
363
|
+
extra_params = operation_config.get("extra_params")
|
364
|
+
ext = file_handler.get_file_extension(file_path)
|
365
|
+
if ext in [".txt", ".tex"]:
|
366
|
+
if ext == ".txt":
|
367
|
+
extra_params = {"pages": [{"url": "oss://txt2pdf", "oss_file": ""}]}
|
368
|
+
else:
|
369
|
+
extra_params = {"pages": [{"url": "oss://tex2pdf", "oss_file": ""}]}
|
370
|
+
return await editor.edit_pdf(
|
367
371
|
file_path,
|
368
372
|
edit_type=EditType.EDIT,
|
369
|
-
extra_params=
|
373
|
+
extra_params=extra_params,
|
370
374
|
password=password,
|
371
375
|
original_name=original_name
|
372
|
-
)
|
376
|
+
)
|
377
|
+
else:
|
378
|
+
return await process_conversion_file(
|
373
379
|
file_path, format, converter, extra_params, password, original_name
|
374
380
|
)
|
375
|
-
|
381
|
+
results = await process_batch_files(
|
382
|
+
file_objects,
|
383
|
+
logger,
|
384
|
+
pdf_convert_dispatcher,
|
376
385
|
f"转换为 {format} 格式"
|
377
386
|
)
|
387
|
+
|
378
388
|
report_msg = generate_result_report(results)
|
379
389
|
else:
|
380
390
|
# 获取操作描述
|
@@ -398,9 +408,7 @@ async def process_tool_call(
|
|
398
408
|
)
|
399
409
|
|
400
410
|
# 生成报告
|
401
|
-
report_msg = generate_result_report(
|
402
|
-
results
|
403
|
-
)
|
411
|
+
report_msg = generate_result_report(results)
|
404
412
|
|
405
413
|
# 如果全部失败,记录错误
|
406
414
|
if not any(r.success for r in results):
|
@@ -420,7 +428,7 @@ async def handle_list_tools() -> list[types.Tool]:
|
|
420
428
|
return [
|
421
429
|
types.Tool(
|
422
430
|
name="convert_document",
|
423
|
-
description="Document format conversion tool.\n\nPDF can be converted to: DOCX/XLSX/PPTX/Images (including long images)/HTML/TXT (for text extraction)/CSV;\nOther formats can be converted to PDF: DOCX/XLSX/PPTX/Images/CAD/CAJ/OFD/HTML.\nOnly whole-file conversion is supported
|
431
|
+
description="Document format conversion tool.\n\nPDF can be converted to: DOCX/XLSX/PPTX/Images (including long images)/HTML/TXT (for text extraction)/CSV;\nOther formats can be converted to PDF: DOCX/XLSX/PPTX/Images/CAD/CAJ/OFD/HTML/TEX (LaTeX).\nOnly whole-file conversion is supported. Does not support creating files from content.",
|
424
432
|
inputSchema={
|
425
433
|
"type": "object",
|
426
434
|
"properties": {
|
@@ -2,10 +2,10 @@ lightpdf_aipdf_mcp/__init__.py,sha256=PPnAgpvJLYLVOTxnHDmJAulFnHJD6wuTwS6tRGjqq6
|
|
2
2
|
lightpdf_aipdf_mcp/common.py,sha256=PhTf7Zg6mEgn1rTmJDHotXp-4xb2gWFf-Dy_t25qNdY,6660
|
3
3
|
lightpdf_aipdf_mcp/converter.py,sha256=vAFB6XtDFt9NPS9yygKBuL4t43nZU--RqqKPC06Mvkg,16761
|
4
4
|
lightpdf_aipdf_mcp/create_pdf.py,sha256=oALIhOBo60D3Gu_li7d7FF0COhFfSTM-BJpc63r9iAs,2465
|
5
|
-
lightpdf_aipdf_mcp/editor.py,sha256=
|
6
|
-
lightpdf_aipdf_mcp/server.py,sha256=
|
5
|
+
lightpdf_aipdf_mcp/editor.py,sha256=cYJ6NlS9q_HJwL-Aw7mVwCT5CECMLWYlmR_ePhw_Ja4,30081
|
6
|
+
lightpdf_aipdf_mcp/server.py,sha256=88Bj0N5G6O2QVErAChp4Dqkxm2gDjp-06DjISFA2u0Y,66050
|
7
7
|
lightpdf_aipdf_mcp/translator.py,sha256=NbFDz-mZSD4qCNQVyV0W_0x6xXwbqs_7FiBU13JAxZs,4243
|
8
|
-
lightpdf_aipdf_mcp-0.1.
|
9
|
-
lightpdf_aipdf_mcp-0.1.
|
10
|
-
lightpdf_aipdf_mcp-0.1.
|
11
|
-
lightpdf_aipdf_mcp-0.1.
|
8
|
+
lightpdf_aipdf_mcp-0.1.123.dist-info/METADATA,sha256=Ag7iaAIyhL9-GVPH_VyoeK1-xKEMP5g1DxqVRCJ3R68,8120
|
9
|
+
lightpdf_aipdf_mcp-0.1.123.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
10
|
+
lightpdf_aipdf_mcp-0.1.123.dist-info/entry_points.txt,sha256=X7TGUe52N4sYH-tYt0YUGApeJgw-efQlZA6uAZmlmr4,63
|
11
|
+
lightpdf_aipdf_mcp-0.1.123.dist-info/RECORD,,
|
File without changes
|
{lightpdf_aipdf_mcp-0.1.121.dist-info → lightpdf_aipdf_mcp-0.1.123.dist-info}/entry_points.txt
RENAMED
File without changes
|