轶哥

📚 Having fun with AI Agent. Always learning.

Office(Word Excel PPT)转PDF-开放API
  •   更新:2020-08-13 18:16:12
  •   首发:2020-05-04 18:06:30
  •   源代码
  •   5258

大约5年前,我在做一个云打印的软硬件一体化项目,其中很关键的一步是通过API将客户发来的Office文档转换为PDF文档进行预览,然后再发送到对应的打印机进行打印,以PDF预览的方式来确保所见即所得。因此当时开发了此API,一直使用至今,历经数次迭代,如今已经很稳定。

现今免费将此API开放给大家进行使用(因服务器成本较高,不排除将来进行收费的可能。如若将进行收费,我会提前至少两个月联系您。即使收费,我承诺此API仅收取成本费用)。API部署在多地服务器,使用阿里云API网关进行中转。

支持的文件格式

  • Word (.doc, .dot,  .docx, .dotx, .docm, .dotm, .rtf, .wpd)
  • Excel (.xls, .xlsx, .xlsm, .xlsb, .xlt, .xltx, .xltm, .csv)
  • Powerpoint (.ppt, .pptx, .pptm, .pps, .ppsx, .ppsm, .pot, .potx, .potm)
  • OpenOffice (.odt, .odp, .ods)
  • Visio (.vsd, .vsdx, .vsdm, .svg)
  • Publisher (.pub)
  • Outlook (.msg, .vcf, .ics)
  • Project (.mpp)

默认参数未针对打印作优化。如需转换为A4大小,请联系我(无偿)。

API使用说明

预备步骤

登录阿里云管理后台,选择API网关,创建应用并获取AppCode。将应用名称私发给我(联系方式见左侧菜单)。

阿里云API网关

第一步:上传待转换文件

POST https://office2pdf.ykfz.pw/api/office2pdf/upload

Header Authorization APPCODE 阿里云AppCode值

form-data格式(multipart/form-data; charset=utf-8)请求API,key为file,value即文件内容。

成功示例:

{"status":1,"result":{"uuid":"1b3eb909-6b77-4d01-beff-df1f1afdf5ae","formData":{}}}

postman预览

第二步:查询文件是否转换完成

GET 查询转换状态 https://office2pdf.ykfz.pw/api/office2pdf/status?uuid=[第一步获取到的UUID]

Header Authorization APPCODE 阿里云AppCode值

成功示例:

{"status":1,"msg":"ok","result":{"url":"/api/office2pdf/download/1b3eb909-6b77-4d01-beff-df1f1afdf5ae.pdf"}}

转换不成功或者还在排队转换,则status不为1。

第三步:下载转换完成的PDF文件

GET 拼接下载地址【无需授权】 https://office2pdf.ykfz.pw/api/office2pdf/download/[第一步获取到的UUID].pdf

关于开源

项目基于https://github.com/Sicos1977/OfficeConverter进行的二次开发,进行了大量修改。也参考了其它开源项目。

此项目将来一定公开源代码,目前还在完善功能阶段,请关注我的网站Follow我的Github主页获取最新动态。现有功能成熟稳定,可放心使用。

相关项目

Node.js打印PDF文件

硬件设备

桌面设备

公共法律服务一体机

以上产品(并未用到此API)是公共法律服务桌面设备公共法律服务柜式一体机。有相关需求欢迎合作。

打赏
交流区(3)
szz19960815

这个功能要实现确实不简单。

2020年7月20日 15:37回复
轶哥

是的,需要长期的积累。

2021年2月23日 02:41回复
轶哥

由于人工维护成本和服务器成本增加,自2022年09月01日起正式收费,按过去三个月的数据计算成本价收取API使用费。

2022年3月18日 07:43回复
尚未登陆
发布
  上一篇 (MacOS Chrome信任自签名证书)
下一篇 (Docker搭配免费SSL证书)  

评论回复提醒