這種方法,依賴的是window環境,在其他環境中使用會出現問題
from win32com.client import constants, gencache
def createPdf(wordPath, pdfPath):
"""
word轉pdf
:param wordPath: word文件路徑
:param pdfPath: 生成pdf文件路徑
"""
word = gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open(wordPath, ReadOnly=1)
doc.ExportAsFixedFormat(pdfPath,
constants.wdExportFormatPDF,
Item=constants.wdExportDocumentWithMarkup,
CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
word.Quit(constants.wdDoNotSaveChanges)
本以為通過上面的方法將word轉pdf,可以實現需求,奈何上傳服務之后,使用了linux系統,這種方法就不能夠使用。經過多方尋找,只要我們服務器上面的libreoffice安裝好,且環境頁配置完成,就可以使用如下方法,來實現word轉pdf:
import os
os.system("libreoffice6.4 --headless --convert-to pdf --outdir /root/Conv/ /root/TEST.docx")
以上兩種方法,可以分別實現window系統和linux系統中word轉pdf。
