MCP Server PDF  Conversion

MCP Server PDF Conversion

🚀 电子书MCP服务器带PDF转换功能

本项目是一个服务器项目,可从包含嵌入式图片的HTML内容创建电子书和PDF文件。它具备强大的HTML转PDF功能,还能妥善处理嵌入式图片,为用户提供便捷的文档转换服务。

🚀 快速开始

本项目可将包含嵌入式图片的HTML内容转换为电子书和PDF文件。你可以按照以下步骤进行操作:

  1. 克隆此仓库。
  2. 安装所需的Python包:
pip install fastapi python-docx pdfkit reportlab pydantic uvicorn pillow
  1. 安装wkhtmltopdf(可选):
    • Windows:从wkhtmltopdf.org下载并安装。
    • Linux:sudo apt-get install wkhtmltopdf
    • macOS:brew install wkhtmltopdf

✨ 主要特性

  • 图片处理:将HTML文件转换为PDF文档并正确处理嵌入图片。
  • 双引擎支持:支持pdfkit(wkhtmltopdf)和reportlab两种PDF生成引擎。
  • 健壮性:具备健壮的错误处理和日志记录功能。
  • 临时文件管理:自动管理临时文件并带有清理机制。
  • 诊断信息:转换过程中提供详细的诊断信息。

📦 安装指南

克隆仓库

克隆此项目仓库到本地。

安装Python依赖

pip install fastapi python-docx pdfkit reportlab pydantic uvicorn pillow

安装wkhtmltopdf(可选)

  • Windows:从wkhtmltopdf.org下载并安装。
  • Linux:执行命令 sudo apt-get install wkhtmltopdf
  • macOS:执行命令 brew install wkhtmltopdf

💻 使用示例

基础用法

服务器提供了一个名为 handle_call_tool 的函数,接受以下参数:

arguments = {
"text_file": "输入文件路径/to/input.html",
"images": {
"image1.png": "图片路径path/to/image1.png",
"image2.jpg": "图片路径path/to/image2.jpg"
},
"output_pdf": "输出PDF路径path/to/output.pdf"
}

高级用法

以下是一个具体的调用示例:

result = await handle_call_tool("CREATE_DOC", {
"text_file": "document.html",
"images": {
"header.png": "images/header.png",
"footer.jpg": "images/footer.jpg"
},
"output_pdf": "output/document.pdf"
})

📚 详细文档

工作原理

  1. 服务器处理输入的HTML文件。
  2. 将HTML中的图片引用替换为绝对路径。
  3. 使用pdfkit(如果可用)尝试将HTML转换为PDF。
  4. 如果pdfkit失败或不可用,则回退到使用reportlab。
  5. 将生成的PDF保存到指定的输出路径。

项目结构

  • main.py:包含PDF转换的核心功能。
  • pyproject.toml:项目元数据和依赖项。

🔧 技术细节

项目要求

  • Python 3.9+
  • wkhtmltopdf(可选但推荐,以获得更好的PDF质量)
  • Python依赖项:
    • fastapi
    • python-docx
    • pdfkit
    • reportlab
    • pydantic
    • uvicorn
    • pillow
  • 0 关注
  • 0 收藏,29 浏览
  • system 提出于 2025-10-02 11:27

相似服务问题

相关AI产品