Install
openclaw skills install pdf-to-word-veiPDF 转 Word(docx)文档转换工具。当用户需要将 PDF 文件转换为 Word 文档(.docx)时使用此技能。 触发词:PDF转Word、PDF to Word、pdf转docx、把PDF转成Word、文档转换 支持的功能: (1) PDF → Word (.docx) 转换 (2) 查询转换任务状态 (3) 下载转换结果 (4) 批量转换 (5) 转换历史记录
openclaw skills install pdf-to-word-veiPDF 转 Word 转换技能,基于 doc-converter 项目实现。
/home/vei/.openclaw/workspace/doc-converter/
├── backend/ # Node.js 后端 (Fastify + Prisma)
├── frontend/ # React 前端 (Vite + TypeScript)
└── docker-compose.yml
前端上传(已实现于 HomePage.tsx):
POST /api/v1/file/upload
Content-Type: multipart/form-data
Body: file (PDF文件,最大50MB)
Response: { fileId, originalName, format, size, pages }
直接 API 调用:
curl -X POST http://localhost:3000/api/v1/file/upload \
-F "file=@your.pdf"
POST /api/v1/convert/
Content-Type: application/json
Body: { fileId: "<fileId>", conversionType: "pdf_to_word" }
Response: { taskId, status, conversionType, createdAt, expiresAt }
GET /api/v1/convert/:taskId
Response: {
taskId, status: "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED",
progress: 0-100,
output: { fileId, originalName, format, size, downloadUrl } | null,
errorMessage: string | null
}
状态说明:
PENDING - 排队中PROCESSING - 转换中(有 progress 进度)COMPLETED - 完成,可下载FAILED - 失败,查看 errorMessageGET /api/v1/convert/:taskId/download
Response: 文件流 (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
GET /api/v1/convert/history
Response: { total, tasks: [{ taskId, conversionType, status, createdAt, input, output }] }
核心文件:backend/src/jobs/converter.ts
PDF → Word 使用 pdf2docx Python库:
from pdf2docx import Converter
c = Converter('input.pdf')
c.convert('output.docx')
c.close()
其他转换类型使用 LibreOffice:
soffice --headless --convert-to pdfpdftoppm -jpeg -r 200convert 或 gs| conversionType | 说明 | 引擎 |
|---|---|---|
pdf_to_word | PDF → Word | pdf2docx |
word_to_pdf | Word → PDF | LibreOffice |
pdf_to_images | PDF → 图片 | pdftoppm |
images_to_pdf | 图片 → PDF | ImageMagick/gs |
word_to_image | Word → 图片 | LibreOffice + pdftoppm |
excel_to_pdf | Excel → PDF | LibreOffice |
ppt_to_pdf | PPT → PDF | LibreOffice |
backend/src/routes/convert.tsbackend/src/jobs/converter.tsfrontend/src/api/client.tsfrontend/src/stores/convertStore.ts详细 API 和架构说明见 references/