windows下使用python将文档转换为pdf的两种方式

环境安装: pip install win32com 或者下载安装包安装 pip install pywin32-223-cp36-cp36m-win_amd64.whl

demo1:

# -*- encoding: utf-8 -*-
import  os
from win32com import client
#pip instatll win32com
def doc2pdf(doc_name, pdf_name):
    """
    :word文件转pdf
    :param doc_name word文件名称
    :param pdf_name 转换后pdf文件名称
    """
    try:
        word = client.DispatchEx("Word.Application")
        if os.path.exists(pdf_name):
            os.remove(pdf_name)
        worddoc = word.Documents.Open(doc_name,ReadOnly = 1)
        worddoc.SaveAs(pdf_name, FileFormat = 17)
        worddoc.Close()
        return pdf_name
    except:
        return 1
if __name__=='__main__':
    doc_name = "D:/test1.docx"
    ftp_name = "D:/test1.pdf"
    doc2pdf(doc_name, ftp_name)


demo2(推荐使用):
 

from win32com import client

def wordToPdf(docname,pdfname):
    w = client.Dispatch("Word.Application")
    doc = w.Documents.Open(docname)
    doc.ExportAsFixedFormat(pdfname, client.constants.wdExportFormatPDF)
    #w.Quit()

def excelToPdf(xlsname,pdfname):
    xlApp = client.Dispatch("Excel.Application")
    books = xlApp.Workbooks.Open(xlsname)
    books.ExportAsFixedFormat(0, pdfname)
    #xlApp.Quit()

def pptToPdf(pptname,pdfname):
    p = client.Dispatch("PowerPoint.Application")
    ppt = p.Presentations.Open(pptname, False, False, False)
    ppt.ExportAsFixedFormat(pdfname, 2, PrintRange=None)
    #p.Quit()

if __name__=='__main__':
    doc_name = "D:/test1.docx"
    ftp_name = "D:/test5.pdf"
    wordToPdf(doc_name, ftp_name)

    xls_name = "D:/test.xls"
    ftp_name = "D:/test6.pdf"
    excelToPdf(xls_name, ftp_name)

    ppt_name = "D:/test.ppt"
    ftp_name = "D:/test7.pdf"
    pptToPdf(ppt_name, ftp_name)

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值