- Node.js >= 18.0.0
- PDF创建和转换:支持从其他文件格式创建PDF文件,并将PDF转换为其他格式,如HTML、Word等。
- PDF合并和拆分:支持将多个PDF文件合并为一个,或将一个PDF文件拆分为多个。
- PDF压缩和优化:通过图像压缩和优化来减小PDF文件大小,扁平化,线性化文档等功能
- PDF安全:提供密码保护和高级加密功能,确保PDF文件的安全性。
将压缩或归档文件中的多个PDF文档,合并为一个PDF文档。使用示例1:把<absolute_path/file_name.zip>中的PDF文档合并为一个PDF。
参数:
- path: string - 压缩或归档文件的绝对路径
- config: object - 配置项
- isAddBookmark: boolean - 是否添加书签
- isAddTOC: boolean - 是否添加目录
- isContinueMerge: boolean - 如果发生错误是否继续合并
- isRetainPageNum: boolean - 是否保留页面逻辑号
- bookmarkLevels: enum('0', '1', '2', '3', '4', '5') - 是否显示目录的等级
逐页比较一个PDF文档(作为“基准文档”)与另一个PDF文档(作为“比较文档”)。使用示例1:把<absolute_path/file_name.pdf>与<absolute_path/file_name2.pdf>进行比较。使用示例2:把<absolute_path/file_name.pdf>与<absolute_path/file_name2.pdf>进行比较,比较结果为:pdf。
参数:
- basePath: string - 基准PDF文档的绝对路径
- comparePath: string - 比较PDF文档的绝对路径
- resultType: enum('json', 'pdf') - 结果类型
- compareType: enum('all', 'text') - 比较类型
使用指定的压缩级别压缩PDF文档。使用示例1:压缩<absolute_path/file_name.pdf>。使用示例2:压缩<absolute_path/file_name.pdf>,压缩级别为:high。
参数:
- path: string - PDF文档的绝对路径
- compressionLevel: enum('low', 'medium', 'high') - 压缩级别
转换PDF文档到其他格式,支持格式:word, excel, ppt, image, text, html。使用示例1:把<absolute_path/file_name.pdf>转换为word。使用示例2:把<absolute_path/file_name.pdf>转换为text。
参数:
- path: string - PDF文档的绝对路径
- format: enum('word', 'excel', 'ppt', 'image', 'text', 'html') - 转换后的文件类型
从其他格式,创建或转换为PDF文档,支持格式:word,excel,ppt,image,text。使用示例1:把<absolute_path/file_name.docx>转换为PDF。使用示例2:把<absolute_path/file_name.txt>转换为PDF。
参数:
- path: string - 转换文件的绝对路径
从HTML文件或指定站点URL创建PDF。使用示例1:把<absolute_path/file_name.html>转换为PDF。使用示例2:把<url>转换为PDF。使用示例3:把<url>转换为PDF,页面模式为:单页。
参数:
- format: enum('url', 'html', 'htm', 'shtml') - 输入格式,如果是url,则url参数不能为空,否则path参数不能为空
- path: string - HTML文件的绝对路径
- url: string - URL
- config: object - 配置项
- width: number - 页面宽度,该值必须大于16,默认值为900(单位为1/72英寸)
- height: number - 页面高度,该值必须大于16,默认值为600(单位为1/72英寸)
- rotate: number - 页面旋转,0:0度,1:90度,2:180度,3:270度
- pageMode: number - 页面模式,0:单页,1:多页
- pageScaling: number - 页面缩放,1:适应页面,2:适应内容
提取PDF文档中的文本或图像。使用示例1:提取<absolute_path/file_name.pdf>中的文本。使用示例2:提取<absolute_path/file_name.pdf>中的图片。
参数:
- path: string - PDF文档的绝对路径
- mode: enum('extractImages', 'extractText') - 提取模式,extractText表示提取文本,extractImages表示提取图片
- pageRange: string - 提取页面范围,A、B和C以逗号分隔。A、B或C可以取数字,如99,也可以取范围,如1-30。如果为空,则提取整个文档
使PDF文档页面扁平化,使注释和表单字段成为页面内容的一部分。使用示例1:把<absolute_path/file_name.pdf>扁平化。
参数:
- path: string - PDF文档的绝对路径
- pageRange: string - PDF文档的页面范围。文档中的页面可以按任何顺序引用,从开始或结束都可以。例如:1、2、3、7-9,全部。如果未指定,则执行所有页面
线性化PDF文档。使用示例1:把<absolute_path/file_name.pdf>线性化。
参数:
- path: string - PDF文档的绝对路径
操作PDF文档,例如删除页面,旋转页面,移动页面。使用示例1:删除<absolute_path/file_name.pdf>的第1页。使用示例2:把<absolute_path/file_name.pdf>的第2页移到第1页。
参数:
- path: string - PDF文档的绝对路径
- config: object - PDF文档操作配置
- pageAction: enum('delete', 'rotate', 'move') - 页面操作类型
- pages: array(number) - 操作的页码,如[0,1,2,3],页面索引从0开始
- angle: number - 页面旋转,0:0度,1:90度,2:180度,-1:270度
- destination: number - 目标页码,如果"页面操作类型"是"移动",它是必需的
使用用户或/和所有者密码保护PDF文档,并对某些功能设置限制。使用示例1:给<absolute_path/file_name.pdf>设置用户密码,密码为:123456。使用示例2:给<absolute_path/file_name.pdf>设置所有者密码,密码为:123456,权限设置为:不允许修改PDF内容。
参数:
- path: string - PDF文档的绝对路径
- passwordProtection: object - 密码保护设置,必须至少设置一个密码
- userPassword: string - 用户密码
- ownerPassword: string - 所有者密码
- permission: object - 权限设置
- PRINT_LOW_QUALITY: boolean - 以正常模式打印PDF文档
- PRINT_HIGH_QUALITY: boolean - 以高质量打印PDF文档
- EDIT_CONTENT: boolean - 修改PDF内容。设置该值后,用户可以通过操作修改PDF文档的内容
- EDIT_FILL_AND_SIGN_FORM_FIELDS: boolean - 填写PDF表格。如果设置了该值,用户可以填写交互式表单字段(包括签名字段)
- EDIT_ANNOTATION: boolean - 操作文本注释和填写交互式表单字段。如果还设置了"修改PDF内容"值,则用户可以创建或修改交互式表单字段
- EDIT_DOCUMENT_ASSEMBLY: boolean - 组装PDF文档。如果设置了这个值,就可以组装文档(插入、旋转或删除页面以及创建书签或缩略图),而不管是否设置了"修改PDF内容"值
- COPY_CONTENT: boolean - 残疾的支持。如果设置了此值,用户可以提取文本和图形,以支持残疾用户的可访问性或用于其他目的
- encryptionAlgorithm: enum('AES_128', 'AES_256', 'RC4') - 加密算法
从PDF文档中删除密码安全性。使用示例1:移除<absolute_path/file_name.pdf>的用户密码,密码为:123456。使用示例2:移除<absolute_path/file_name.pdf>的所有者密码,密码为:123456。
参数:
- path: string - PDF文档的绝对路径
- password: string - PDF文档密码。如果PDF受所有者密码保护,则用户需要在该字段中使用所有者密码来取消文档安全性,否则用户需要传入用户密码来打开文档
将PDF文档拆分为多个较小的文档。使用示例1:把<absolute_path/file_name.pdf>拆分为多个文档,拆分后的页数为:3。
参数:
- path: string - PDF文档的绝对路径
- config: object - 配置项
- pageCount: number - 拆分后的页数
打开 VS Code 配置文件 settings.json
,添加以下配置,并替换其中的 your_client_id
:
- Windows, MacOS, Linux
{
"mcp": {
"servers": {
// 其他配置 ...
"mcp-server-foxit-cloudapi": {
"command": "npx",
"args": [
"-y",
"@foxitsoftware/mcp-server-foxit-cloudapi"
],
"env": {
"CLIENT_ID": "your_client_id"
}
}
// 其他配置 ...
}
}
}
打开 Cline MCP 配置文件 cline_mcp_settings.json
, 添加以下配置,并替换其中的 your_client_id
:
- Windows
{
"mcpServers": {
// 其他配置 ...
"mcp-server-foxit-cloudapi": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@foxitsoftware/mcp-server-foxit-cloudapi"
],
"env": {
"CLIENT_ID": "your_client_id"
},
"transportType": "stdio"
}
// 其他配置 ...
}
}
- MacOS, Linux
{
"mcpServers": {
// 其他配置 ...
"mcp-server-foxit-cloudapi": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "npx",
"args": [
"-y",
"@foxitsoftware/mcp-server-foxit-cloudapi"
],
"env": {
"CLIENT_ID": "your_client_id"
},
"transportType": "stdio"
}
// 其他配置 ...
}
}