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

Python中怎么将Office文件转为PDF

2023-06-16 00:06:47 379人浏览 八月长安

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

摘要

这篇文章将为大家详细讲解有关python中怎么将Office文件转为pdf,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装 win32com在实战之前,需要安装 Python 的 win3

这篇文章将为大家详细讲解有关python中怎么将Office文件转为pdf,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

安装 win32com

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

使用 pip 命令安装

pip install pywin32

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

python -m pip install --upgrade pip

下载离线安装包安装

如果 pip 命令未安装成功的话还可以下载离线包安装,方法步骤如下:首先在官网选择对应的 Python  版本下载离线包:https://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/281887.html(转载时请注明来源链接)

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

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

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

下载Word文档
猜你喜欢
  • Python中怎么将Office文件转为PDF
    这篇文章将为大家详细讲解有关Python中怎么将Office文件转为PDF,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装 win32com在实战之前,需要安装 Python 的 win3...
    99+
    2023-06-16
  • Python怎么将Office文件转PDF
    本篇内容介绍了“Python怎么将Office文件转PDF”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装 win32com在实战之前,需...
    99+
    2023-06-27
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • 如何在java中使用openoffice将office文档转换为PDF
    如何在java中使用openoffice将office文档转换为PDF?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1....
    99+
    2023-05-30
    java openoffice office
  • php怎么将Excel文件转为PDF格式
    随着互联网的飞速发展,越来越多的企业和个人开始使用网络来处理和存储各种数据。在这个背景下,各种数据格式的转换变得越来越重要,其中将Excel文件转换为PDF格式的需求也日益增加。作为一种流行的编程语言,PHP不仅可以处理网页开发和服务器端编...
    99+
    2023-05-14
  • 如何利用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处理
  • Java如何将HTML文件转换为PDF文件
    随着互联网时代的到来,网页越来越成为人们获取信息的主要渠道。但是,网页上的信息无法离线保存,有时用户需要在没有网络连接的情况下查看网页内容。这时,转换网页为PDF文件就成为了不错的选择。在众多的软件中,Java有着较为强大的PDF生成能力,...
    99+
    2023-05-14
  • Java中怎么将html转为pdf
    近年来,随着数字化进程的不断推进,电子化文件的需求也越来越高。在实际工作中,我们常常需要将 HTML 文件转换为 PDF 文件,在此过程中需要使用到 Java 编程技术。本文将从以下三个方面介绍 HTML 转 PDF 的 Java 实现方法...
    99+
    2023-05-14
  • 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
  • 怎么将pdf转换为html
    本篇文章给大家分享的是有关怎么将pdf转换为html,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。先打开pdf格式转换工具,选择转换格式“文件转html“;然后添加要转换的pd...
    99+
    2023-06-15
  • Java怎么将PDF转为Word
    这篇文章主要介绍“Java怎么将PDF转为Word”,在日常操作中,相信很多人在Java怎么将PDF转为Word问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么将PDF转为Word”的疑惑有所帮助!...
    99+
    2023-06-02
  • C# 中怎么将PDF转换为PDFA
    本篇文章给大家分享的是有关C# 中怎么将PDF转换为PDFA,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用类库:Spire.PDF for .NET pack获取及引用:方...
    99+
    2023-06-03
  • php怎么将word文档转成PDF文件
    在如今数字化的时代,文档转换成PDF(Portable Document Format)是十分常见的需求,因为PDF是一种跨平台、适用于多种设备和操作系统的文件格式,具有良好的兼容性和可靠的可读性。而php作为一种强大的服务器端编程语言,可...
    99+
    2023-05-14
    php
  • Python怎么爬取csnd文章并转为PDF文件
    今天就跟大家聊聊有关Python怎么爬取csnd文章并转为PDF文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.导入模块import requests #&...
    99+
    2023-06-22
  • 怎么用python包pdfkit将HTML转换为PDF
    本篇内容介绍了“怎么用python包pdfkit将HTML转换为PDF”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python包-pdfk...
    99+
    2023-06-30
  • 如何利用python将pdf文档转为word?
    1.前言 有些时候,我们需要将pdf文档转换为word文档进行处理,但市面上的一些pdf软件往往需要付费才能使用。那么作为一名技术人员,如何才能实现pdf转word自由? 2.准备工作 提前安装好py...
    99+
    2023-09-05
    word python pdf
  • 怎么在将html转换为pdf
    怎么在将html转换为pdf?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,...
    99+
    2023-06-14
  • 使用JAVA怎么将PDF转换为HTML文档
    使用JAVA怎么将PDF转换为HTML文档?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。引入Maven依赖<!-- https://mvnrepositor...
    99+
    2023-06-15
  • python | 将pdf文件转换为图片,这一招就够了
    一、背景 部分情况下,需要将 PDF 页面转换为图片,例如 PNG 或 JPEG 格式。 python 的开源库 pdfplumber,提供了将 pdf 文件转换为图片的方法。 如果之前还没有安装和使...
    99+
    2023-10-20
    python pdf 开发语言
  • Python办公自动化之将任意文件转为PDF格式
    一、word转PDF 这里借助Python的docx2pdf去完成转换操作,该库的安装命令如下: pip install docx2pdf 目标:读取文件夹下的全部word文...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作