@foxitsoftware/mcp-server-foxit-cloudapi

1.0.0 • Public • Published

MCP server for using the Foxit Cloud API

Requirements

  • Node.js >= 18.0.0

Features

  • PDF创建和转换:支持从其他文件格式创建PDF文件,并将PDF转换为其他格式,如HTML、Word等。
  • PDF合并和拆分:支持将多个PDF文件合并为一个,或将一个PDF文件拆分为多个。
  • PDF压缩和优化:通过图像压缩和优化来减小PDF文件大小,扁平化,线性化文档等功能
  • PDF安全:提供密码保护和高级加密功能,确保PDF文件的安全性。

Tools

combine_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') - 是否显示目录的等级

compare_pdf

逐页比较一个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') - 比较类型

compress_pdf

使用指定的压缩级别压缩PDF文档。使用示例1:压缩<absolute_path/file_name.pdf>。使用示例2:压缩<absolute_path/file_name.pdf>,压缩级别为:high。

参数:

  • path: string - PDF文档的绝对路径
  • compressionLevel: enum('low', 'medium', 'high') - 压缩级别

convert_pdf

转换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') - 转换后的文件类型

create_pdf

从其他格式,创建或转换为PDF文档,支持格式:word,excel,ppt,image,text。使用示例1:把<absolute_path/file_name.docx>转换为PDF。使用示例2:把<absolute_path/file_name.txt>转换为PDF。

参数:

  • path: string - 转换文件的绝对路径

create_pdf_from_html

从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:适应内容

extract_pdf

提取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。如果为空,则提取整个文档

flatten_pdf

使PDF文档页面扁平化,使注释和表单字段成为页面内容的一部分。使用示例1:把<absolute_path/file_name.pdf>扁平化。

参数:

  • path: string - PDF文档的绝对路径
  • pageRange: string - PDF文档的页面范围。文档中的页面可以按任何顺序引用,从开始或结束都可以。例如:1、2、3、7-9,全部。如果未指定,则执行所有页面

linearize_pdf

线性化PDF文档。使用示例1:把<absolute_path/file_name.pdf>线性化。

参数:

  • path: string - PDF文档的绝对路径

manipulation_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 - 目标页码,如果"页面操作类型"是"移动",它是必需的

protect_pdf

使用用户或/和所有者密码保护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') - 加密算法

remove_password

从PDF文档中删除密码安全性。使用示例1:移除<absolute_path/file_name.pdf>的用户密码,密码为:123456。使用示例2:移除<absolute_path/file_name.pdf>的所有者密码,密码为:123456。

参数:

  • path: string - PDF文档的绝对路径
  • password: string - PDF文档密码。如果PDF受所有者密码保护,则用户需要在该字段中使用所有者密码来取消文档安全性,否则用户需要传入用户密码来打开文档

split_pdf

将PDF文档拆分为多个较小的文档。使用示例1:把<absolute_path/file_name.pdf>拆分为多个文档,拆分后的页数为:3。

参数:

  • path: string - PDF文档的绝对路径
  • config: object - 配置项
    • pageCount: number - 拆分后的页数

在 VS Code 的 GitHub Copilot 中使用

打开 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"
        }
      }
      // 其他配置 ...
    }
  }
}

在 VS Code 的 Cline 中使用

打开 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"
    }
    // 其他配置 ...
  }
}

Readme

Keywords

Package Sidebar

Install

npm i @foxitsoftware/mcp-server-foxit-cloudapi

Weekly Downloads

249

Version

1.0.0

License

Commercial

Unpacked Size

73.3 kB

Total Files

21

Last publish

Collaborators

  • rowanhanna
  • xinqiang_song
  • lzw4x
  • yongliang_huang
  • jim2018
  • foxitsdk
  • foxitniu
  • cancerq
  • linc0803
  • web-sdk-ci
  • webviewer
  • warerwang
  • zhiquan_ye
  • y1j2x34
  • albanomoura
  • hong_lin
  • jianxin_yang
  • tianwei_wu_foxit
  • xuexing-he
  • cheng_lin