客户端处理ppt和word转pdf

Apr 18, 2023

linux端

linux端直接安装libreoffice开源软件,然后执行命令即可:
libreoffice --headless --convert-to pdf <word文件名>.docx

windows端

  1. 使用nodejs
require("winax"); // pppt -> pdf const powerPoint = new ActiveXObject("PowerPoint.Application", { activate: false, }); const ppt = powerPoint.Presentations.Open( "C:\\Users\\hou\\test.pptx", false, false, false ); ppt.SaveAs("C:\\Users\\hou\\test.pdf", 32); powerPoint.Quit(); // word -> pdf const word = new ActiveXObject("Word.Application", { activate: false }); const doc = word.Documents.Open("C:\\Users\\hou\\test.docx"); doc.SaveAs("C:\\Users\\hou\\test.pdf", 17); word.Quit(); // wps pppt -> pdf const wps = new ActiveXObject("KWPP.Application", { activate: true, }); wps.Visible = true; wps.WindowState = 3; // 最大化窗口 const ppt = wps.Presentations.Open(path.resolve(__dirname, "test.pptx")); ppt.SaveAs(path.resolve(__dirname, "test.pdf"), 32); wps.Quit(); // wps word -> pdf const word = new ActiveXObject("KWPS.Application", { activate: false }); const doc = word.Documents.Open("C:\\Users\\hou\\test.docx"); doc.SaveAs("C:\\Users\\hou\\test.pdf", 17); word.Quit();
  1. 使用python
import win32com.client as win32 import os, sys word = win32.gencache.EnsureDispatch('Word.Application') doc = word.Documents.Open(os.path.join( os.getcwd(), 'test.doc')) doc.SaveAs(os.path.join( os.getcwd(), 'example.pdf'), FileFormat=17) doc.Close() word.Quit()

总结

  1. libreoffice 转换pdf特殊格式有兼容问题,适用于linux系统。
 

Copyright © 2025 later

logo