lightpdf-aipdf-mcp 0.1.119__py3-none-any.whl → 0.1.121__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 +4 -4
- lightpdf_aipdf_mcp/server.py +5 -6
- {lightpdf_aipdf_mcp-0.1.119.dist-info → lightpdf_aipdf_mcp-0.1.121.dist-info}/METADATA +1 -1
- {lightpdf_aipdf_mcp-0.1.119.dist-info → lightpdf_aipdf_mcp-0.1.121.dist-info}/RECORD +6 -6
- {lightpdf_aipdf_mcp-0.1.119.dist-info → lightpdf_aipdf_mcp-0.1.121.dist-info}/WHEEL +0 -0
- {lightpdf_aipdf_mcp-0.1.119.dist-info → lightpdf_aipdf_mcp-0.1.121.dist-info}/entry_points.txt +0 -0
lightpdf_aipdf_mcp/editor.py
CHANGED
@@ -73,7 +73,7 @@ class Editor(BaseApiClient):
|
|
73
73
|
file_path: 要拆分的PDF文件路径
|
74
74
|
pages: 拆分页面规则,例如 "1,3,5-7" 表示提取第1,3,5,6,7页,""表示所有页面,默认为""
|
75
75
|
password: 文档密码,如果文档受密码保护,则需要提供(可选)
|
76
|
-
split_type: 拆分类型,可选值: "every"=每页拆分为一个文件, "page"=指定页面规则拆分,"
|
76
|
+
split_type: 拆分类型,可选值: "every"=每页拆分为一个文件, "page"=指定页面规则拆分,"bookmark"=按书签/大纲/目录节点拆分,默认为"page"
|
77
77
|
merge_all: 是否合并拆分后的文件,仅在split_type="page"时有效,0=不合并,1=合并,默认为1
|
78
78
|
original_name: 原始文件名(可选)
|
79
79
|
|
@@ -85,10 +85,10 @@ class Editor(BaseApiClient):
|
|
85
85
|
return EditResult(success=False, file_path=file_path, error_message="非PDF文件", original_name=original_name)
|
86
86
|
|
87
87
|
# 验证拆分类型
|
88
|
-
valid_split_types = {"every", "page", "
|
88
|
+
valid_split_types = {"every", "page", "bookmark"}
|
89
89
|
if split_type not in valid_split_types:
|
90
|
-
await self.logger.error(f"无效的拆分类型: {split_type}。有效值为: every, page,
|
91
|
-
return EditResult(success=False, file_path=file_path, error_message=f"无效的拆分类型: {split_type}。有效值为: every, page,
|
90
|
+
await self.logger.error(f"无效的拆分类型: {split_type}。有效值为: every, page, bookmark")
|
91
|
+
return EditResult(success=False, file_path=file_path, error_message=f"无效的拆分类型: {split_type}。有效值为: every, page, bookmark", original_name=original_name)
|
92
92
|
|
93
93
|
# 构建API参数
|
94
94
|
extra_params = {
|
lightpdf_aipdf_mcp/server.py
CHANGED
@@ -793,7 +793,7 @@ async def handle_list_tools() -> list[types.Tool]:
|
|
793
793
|
),
|
794
794
|
types.Tool(
|
795
795
|
name="split_pdf",
|
796
|
-
description="Split PDF documents by pages. You can split each page into a separate PDF file, split by specified page ranges, or split by
|
796
|
+
description="Split PDF documents by pages. You can split each page into a separate PDF file, split by specified page ranges, or split by bookmarks/outlines/table of contents/headings (bookmark). Split files can be multiple independent PDF files (returned as a zip package) or merged into a single PDF file.",
|
797
797
|
inputSchema={
|
798
798
|
"type": "object",
|
799
799
|
"properties": {
|
@@ -821,13 +821,12 @@ async def handle_list_tools() -> list[types.Tool]:
|
|
821
821
|
},
|
822
822
|
"split_type": {
|
823
823
|
"type": "string",
|
824
|
-
"description": "Split type: 'every' (split each page into a separate file), 'page' (split by page ranges), or '
|
825
|
-
"enum": ["every", "page", "
|
826
|
-
"default": "page"
|
824
|
+
"description": "Split type: 'every' (split each page into a separate file), 'page' (split by page ranges), or 'bookmark' (split by PDF bookmarks/outlines/table of contents/headings, each node as a separate PDF file).",
|
825
|
+
"enum": ["every", "page", "bookmark"]
|
827
826
|
},
|
828
827
|
"pages": {
|
829
828
|
"type": "string",
|
830
|
-
"description": "
|
829
|
+
"description": "Page ranges to split, e.g. '1,3,5-7' or '' (empty for all pages). Required and only valid when split_type is 'page'."
|
831
830
|
},
|
832
831
|
"merge_all": {
|
833
832
|
"type": "integer",
|
@@ -836,7 +835,7 @@ async def handle_list_tools() -> list[types.Tool]:
|
|
836
835
|
"default": 0
|
837
836
|
}
|
838
837
|
},
|
839
|
-
"required": ["files"]
|
838
|
+
"required": ["files", "split_type"]
|
840
839
|
}
|
841
840
|
),
|
842
841
|
types.Tool(
|
@@ -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=5YapqjYegnD1AIRvffLqeREkrgx-cdqlRrPc-aBtS-s,30124
|
6
|
+
lightpdf_aipdf_mcp/server.py,sha256=eVTsc7oGoFmKnb7TDpkZresAmsJtTWsnxPGP54YBAmo,65742
|
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.121.dist-info/METADATA,sha256=S2-6OqheIjLbuqMijHValcr7agThiXQGAknZBftfJxs,8120
|
9
|
+
lightpdf_aipdf_mcp-0.1.121.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
10
|
+
lightpdf_aipdf_mcp-0.1.121.dist-info/entry_points.txt,sha256=X7TGUe52N4sYH-tYt0YUGApeJgw-efQlZA6uAZmlmr4,63
|
11
|
+
lightpdf_aipdf_mcp-0.1.121.dist-info/RECORD,,
|
File without changes
|
{lightpdf_aipdf_mcp-0.1.119.dist-info → lightpdf_aipdf_mcp-0.1.121.dist-info}/entry_points.txt
RENAMED
File without changes
|