广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么将Office文件转PDF
  • 133
分享到

Python怎么将Office文件转PDF

2023-06-27 10:06:15 133人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python怎么将Office文件转pdf”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装 win32com在实战之前,需

本篇内容介绍了“python怎么将Office文件转pdf”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

安装 win32com

在实战之前,需要安装 Python 的 win32com,详细安装步骤如下:

使用 pip 命令安装

pip install pywin32

如果我们遇到安装错误,可以通过python -m pip install --upgrade pip更新云端的方式再进行安装即可:

python -m pip install --upgrade pip

下载离线安装包安装

如果 pip 命令未安装成功的话还可以下载离线包安装,方法步骤如下:首先在官网选择对应的 Python 版本下载离线包: sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 下载好后傻瓜式安装好即可。

文件转换逻辑

详细代码如下:

class PDFConverter:    def __init__(self, pathname, export='.'):        self._handle_postfix = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'] # 支持转换的文件类型        self._filename_list = list()  #列出文件        self._export_folder = os.path.join(os.path.abspath('.'), 'file_server/pdfconver')        if not os.path.exists(self._export_folder):            os.mkdir(self._export_folder)        self._enumerate_filename(pathname)    def _enumerate_filename(self, pathname):        '''        读取所有文件名        '''        full_pathname = os.path.abspath(pathname)        if os.path.isfile(full_pathname):            if self._is_legal_postfix(full_pathname):                self._filename_list.append(full_pathname)            else:                raise TypeError('文件 {} 后缀名不合法!仅支持如下文件类型:{}。'.fORMat(pathname, '、'.join(self._handle_postfix)))        elif os.path.isdir(full_pathname):            for relpath, _, files in os.walk(full_pathname):                for name in files:                    filename = os.path.join(full_pathname, relpath, name)                    if self._is_legal_postfix(filename):                        self._filename_list.append(os.path.join(filename))        else:            raise TypeError('文件/文件夹 {} 不存在或不合法!'.format(pathname))    def _is_legal_postfix(self, filename):        return filename.split('.')[-1].lower() in self._handle_postfix and not os.path.basename(filename).startswith(            '~')    def run_conver(self):        print('需要转换的文件数是:', len(self._filename_list))        for filename in self._filename_list:            postfix = filename.split('.')[-1].lower()            funcCall = getattr(self, postfix)            print('原文件:', filename)            funcCall(filename)        print('转换完成!')

doc/docx 转换为 PDF

doc/docx 转换为 PDF 部分代码如下所示:

    def doc(self, filename):        name = os.path.basename(filename).split('.')[0] + '.pdf'        exportfile = os.path.join(self._export_folder, name)        print('保存 PDF 文件:', exportfile)        gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4)        pythoncom.CoInitialize()        w = Dispatch("Word.Application")        pythoncom.CoInitialize()  # 加上防止 CoInitialize 未加载        doc = w.Documents.Open(filename)        doc.ExportAsFixedFormat(exportfile, constants.wdExportFormatPDF,                                Item=constants.wdExportDocumentWithMarkup,                                CreateBookmarks=constants.wdExportCreateHeadingBookmarks)        w.Quit(constants.wdDoNotSaveChanges) def docx(self, filename):        self.doc(filename)

ppt/pptx 转换为 PDF

ppt/pptx 转换为 PDF 部分代码如下:

 def ppt(self, filename):        name = os.path.basename(filename).split('.')[0] + '.pdf'        exportfile = os.path.join(self._export_folder, name)        gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4)        pythoncom.CoInitialize()        p = Dispatch("PowerPoint.Application")        pythoncom.CoInitialize()        ppt = p.Presentations.Open(filename, False, False, False)        ppt.ExportAsFixedFormat(exportfile, 2, PrintRange=None)        print('保存 PDF 文件:', exportfile)        p.Quit()    def pptx(self, filename):        self.ppt(filename)

xls/xlsx 转换为 PDF

    def xls(self, filename):        name = os.path.basename(filename).split('.')[0] + '.pdf'        exportfile = os.path.join(self._export_folder, name)        pythoncom.CoInitialize()        xlApp = DispatchEx("excel.Application")        pythoncom.CoInitialize()        xlApp.Visible = False        xlApp.DisplayAlerts = 0        books = xlApp.Workbooks.Open(filename, False)        books.ExportAsFixedFormat(0, exportfile)        books.Close(False)        print('保存 PDF 文件:', exportfile)        xlApp.Quit()    def xlsx(self, filename):        self.xls(filename)

执行转换逻辑

if __name__ == "__main__":    # 支持文件夹批量导入    #folder = 'tmp'    #pathname = os.path.join(os.path.abspath('.'), folder)    # 也支持单个文件的转换    pathname = "G:/python_study/test.doc"    pdfConverter = PDFConverter(pathname)    pdfConverter.run_conver()

“Python怎么将Office文件转PDF”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python怎么将Office文件转PDF

本文链接: https://www.lsjlt.com/news/309742.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么将Office文件转PDF
    本篇内容介绍了“Python怎么将Office文件转PDF”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装 win32com在实战之前,需...
    99+
    2023-06-27
  • Python中怎么将Office文件转为PDF
    这篇文章将为大家详细讲解有关Python中怎么将Office文件转为PDF,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装 win32com在实战之前,需要安装 Python 的 win3...
    99+
    2023-06-16
  • winform把Office转成PDF文件
    先要把word或ppt转换为pdf; 以pdf的格式展示,防止文件拷贝。 转换方法 1、安装Word、Excel、PowerPoint组件 注意:需安装Microsoft.Offic...
    99+
    2022-11-13
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • php怎么将word文档转成PDF文件
    在如今数字化的时代,文档转换成PDF(Portable Document Format)是十分常见的需求,因为PDF是一种跨平台、适用于多种设备和操作系统的文件格式,具有良好的兼容性和可靠的可读性。而php作为一种强大的服务器端编程语言,可...
    99+
    2023-05-14
    php
  • php怎么将Excel文件转为PDF格式
    随着互联网的飞速发展,越来越多的企业和个人开始使用网络来处理和存储各种数据。在这个背景下,各种数据格式的转换变得越来越重要,其中将Excel文件转换为PDF格式的需求也日益增加。作为一种流行的编程语言,PHP不仅可以处理网页开发和服务器端编...
    99+
    2023-05-14
  • 如何在java中使用openoffice将office文档转换为PDF
    如何在java中使用openoffice将office文档转换为PDF?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1....
    99+
    2023-05-30
    java openoffice office
  • python怎么将pdf转换成word
    您可以使用Python中的pytesseract库将PDF文件转换为文本,然后使用Python-docx库将文本转换为Word文档。...
    99+
    2023-09-22
    python
  • 如何利用Python将html转为pdf、word文件
    目录前言转 pdf安装 pdfkit 库安装 wkhtmltopdf 文件url 生成 pdf本地 html 文件生成 pdf转 word安装 pypandoc 库安装 pandoc...
    99+
    2022-12-19
    python将html转pdf python将html转word python pdf处理
  • 怎么将文件PDF格式转换成Word格式
    这篇文章给大家分享的是有关怎么将文件PDF格式转换成Word格式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。(1)打开手机,在手机上的应用市场上搜索“PDF转换大师”,找到可以转换文档格式的工具,将其下载到手机...
    99+
    2023-06-05
  • Java如何将HTML文件转换为PDF文件
    随着互联网时代的到来,网页越来越成为人们获取信息的主要渠道。但是,网页上的信息无法离线保存,有时用户需要在没有网络连接的情况下查看网页内容。这时,转换网页为PDF文件就成为了不错的选择。在众多的软件中,Java有着较为强大的PDF生成能力,...
    99+
    2023-05-14
  • php如何将word文档转成PDF文件
    本文小编为大家详细介绍“php如何将word文档转成PDF文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将word文档转成PDF文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:安装和配置...
    99+
    2023-07-05
  • PDF文件怎么转换EXCEL
    这篇文章主要为大家展示了“PDF文件怎么转换EXCEL”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PDF文件怎么转换EXCEL”这篇文章吧。将PDF文件转换器成EXCEL文件格式。在手机应用市...
    99+
    2023-06-05
  • 使用python怎么将Word转换成pdf
    这篇文章将为大家详细讲解有关使用python怎么将Word转换成pdf,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python的五大特点是什么python的五大特点:1.简单易学,开发程序...
    99+
    2023-06-14
  • python小脚本——批量将PDF文件转换成图片
    语言:python 3 用法:选择PDF文件所在的目录,点击 确定 后,自动将该目录下的所有PDF转换成单个图片,图片名称为:   pdf文件名.page_序号.jpg 如运行中报错,需要自行根据报错内容按照缺失的库 例如: #安装库pip...
    99+
    2023-09-10
    python
  • Python怎么爬取csnd文章并转为PDF文件
    今天就跟大家聊聊有关Python怎么爬取csnd文章并转为PDF文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.导入模块import requests #&...
    99+
    2023-06-22
  • 在PHP中怎么将网页内容转换成PDF文件
    这篇“在PHP中怎么将网页内容转换成PDF文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在PHP中怎么将网页内容转换成P...
    99+
    2023-07-05
  • php怎么将work转为pdf
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑一、配置PHP扩展如果是 PHP5.4 以前的版本,需要在 php.ini 里把 com.allow_dcom = true 打开(即去掉前面的分号)。如果是 PHP5...
    99+
    2017-06-01
    php work pdf
  • 怎么将Excel转换成PDF
    这篇文章主要介绍怎么将Excel转换成PDF,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、打开在线PDF转换平台——pdf365.cn 二、点击“Excel转PDF”图标,进入Excel文档上传页面,将...
    99+
    2023-06-04
  • 怎么将pdf转换为html
    本篇文章给大家分享的是有关怎么将pdf转换为html,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。先打开pdf格式转换工具,选择转换格式“文件转html“;然后添加要转换的pd...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作