本文收录于 《100天精通Python专栏 - 快速入门到黑科技》专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架;黑科技应用篇以实战为主,包括办公效率小工具、爬虫、数据分析、机器学习、计算机视觉、自然语言处理、数据可视化等等,让你会用一段简单的Python程序,自动化解决工作和生活中的问题,甚至成为红客。
———————————————————————————————————
订阅福利:原价299,限时1折订阅专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导/学习方法指引),群里大佬可以抱团取暖(大厂/外企内推机会)
订阅福利:简历指导、招聘内推、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
专栏地址: 点击《100天精通Python专栏 - 快速入门到黑科技》
可以使用 Python 的 win32com
模块实现将 Word 文档批量转化为 PDF 格式。首先,需要安装 win32com
模块和 Word 应用程序(仅适用于 Windows 操作系统)。
下面西红柿演示一个示例代码,用于将指定目录下的所有 Word 文档转化为 PDF 格式:
先导入必要的包。
import os
import win32com.client
注意,我要开始转换了。
# 指定要转换的目录和 Word 应用程序
folder_path = r'C:\Users\noootomato\Desktop\love_tomato'
word_app = win32com.client.Dispatch('Word.Application')
# 遍历目录下的所有文件,将 Word 文档转化为 PDF 格式
for file_name in os.listdir(folder_path):
if file_name.endswith('.docx') or file_name.endswith('.doc'):
# 打开 Word 文档
doc_path = os.path.join(folder_path, file_name)
doc = word_app.Documents.Open(doc_path)
# 将 Word 文档保存为 PDF 格式
pdf_path = os.path.join(folder_path, os.path.splitext(file_name)[0] + '.pdf')
doc.SaveAs(pdf_path, FileFormat=17)
# 关闭 Word 文档
doc.Close()
# 关闭 Word 应用程序
word_app.Quit()
上述代码使用 win32com
模块打开 Word 文档,再将其保存为 PDF 格式。在保存 Word 文档为 PDF 格式时,需要传递 FileFormat=17
参数,其中数字 17 表示 PDF 格式。
运行上述代码后,指定目录中的所有 Word 文档应该会被转化为 PDF 格式,并存储在相应的目录中。
下面,西红柿要为大家介绍一个非常有用的 Python 技巧:批量合并 Word 文档。
首先,让你要导入一个名为 docx2python 的包。这个包是一个基于 Python 3 的 Word 文档解析器,可以帮助我们轻松读取和操作 Word 文档。
安装完 docx2python 后,我们可以使用下面这段代码来合并 Word 文档:
from docx2python import docx2python
from docx import Document
# 合并指定目录中的所有 Word 文档
def merge_word_documents(dir_path, merged_file_name):
merged_document = Document()
for file_name in os.listdir(dir_path):
if file_name.endswith('.docx'):
file_path = os.path.join(dir_path, file_name)
document = Document(file_path)
for element in document.element.body:
merged_document.element.body.append(element)
merged_document.save(merged_file_name)
这段代码中,merge_word_documents
函数接受两个参数,分别是要合并的 Word 文档所在文件夹的路径和合并后要生成的文件名。该函数会遍历指定目录中的所有 Word 文档,并将它们逐一合并成一个新的 Word 文档。
使用这个技巧再也不用一个一个手动合并 Word 文档了,快试试吧,西红柿们!
西红柿继续为大家介绍如何使用 Python 实现 Word 文档(支持 doc 和 docx 两种格式)的批量互转。
Python 中有一个名为 python-docx 的模块,它是一个用于读取、查询和修改 Microsoft Word(docx 文件)的 Python 库。我们还可以使用 python-docx2txt 模块来将 Word 文件转换为文本文件,再通过 python-docx 将其转换为目标类型的 Word 文件。
以将所有 doc 文件转换为 docx 文件为例,下面是示例代码:
import os
import comtypes.client
from docx import Document
from docx2txt import docx2txt
# 将 doc 文件转换为 docx 文件
def convert_doc_to_docx(doc_file_path):
# 首先将 doc 转换为 txt 文件
txt_file_path = os.path.splitext(doc_file_path
import docx
# 创建Word文档
document = docx.Document()
import docx
# 打开已存在的Word文档
document = docx.Document('example.docx')
import docx
# 创建Word文档
document = docx.Document()
# 往文档中添加段落
paragraph = document.add_paragraph('创建我的第一个段落。')
import docx
# 创建Word文档
document = docx.Document()
# 创建表格,3行4列
table = document.add_table(rows=3, cols=4)
# 遍历表格并填充内容
for i in range(3):
cells = table.rows[i].cells
for j in range(4):
cells[j].text = '第{}行,第{}列'.format(i+1, j+1)
import docx
# 创建Word文档
document = docx.Document()
# 添加图片
document.add_picture('example.jpg')
import docx
# 创建Word文档
document = docx.Document()
# 添加标题
document.add_heading('标题1', level=1)
import docx
# 创建Word文档
document = docx.Document()
# 往文档中添加段落
paragraph = document.add_paragraph('创建我的第一个段落。')
# 格式化段落
paragraph.add_run('这是加粗的文字。').bold = True
paragraph.add_run('这是斜体字。').italic = True
paragraph.add_run('这是下划线文字。').underline = True
paragraph.add_run('这是红色文字。').font.color.rgb = docx.shared.RGBColor(255, 0, 0)
import docx
# 创建Word文档
document = docx.Document()
# 设置页面方向
document.sections[0].orientation = docx.enum.section.WD_ORIENT.LANDSCAPE
# 设置页面大小
document.sections[0].page_width = docx.shared.Inches(11)
document.sections[0].page_height = docx.shared.Inches(8.5)
import docx
# 创建Word文档
document = docx.Document()
# 往文档中添加段落
paragraph = document.add_paragraph('创建我的第一个段落。')
# 保存文档
document.save('example.docx')
import docx
# 创建Word文档
document = docx.Document()
# 往文档中添加段落
paragraph = document.add_paragraph('创建我的第一个段落。')
# 保存文档
document.save('example.docx')
# 关闭文档
document.close()
如果文章有用,请在评论区大声鼓励我:人生苦短,有你便甜!