第十天-自动化办公-word操作

python-docx:操作word

读取word

  1. 安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx

  1. 使用:

import docx

3.使用document获取对象

注意只支持.docx 格式 不支持doc

from docx import Document

#返回word对象

documnet_obj=Document(word地址)

  1. 段落的读取

#通过循环每个段落的对象,并调用text

for p in documnet_obj.paragraphs:

print(p.text)

5.表格内容的读取

#通过循环获取行列的内容,每个表格字段字符串

for t in documnet_obj.tables:

for row in t.rows:

for cell in row.cells:

print(cell.text)

#根据列读取

for t in documnet_obj.tables:

for col in t.columns:

for cell in col.cells:

print(cell.text)

创建word

  1. 生成标题

document_obj=Document()

#标题样式等级0-9

titleobj=document_obj.add_heading(标题内容,标题样式等级)

#内容追加

titleobj.add_run(字符串)

#保存文档

document_obj.save("xx.docx")

2.保存文档

document_obj=Document()

document_obj.save("xx.docx")

3.添加段落

paraobj=document_obj.add_paragraph("段落内容")

#内容追加

paraobj.add_run("字符串内容")

#可以使用\n来进行换行

4.添加图片

#宽高的定义

from docx.shared import Inches

image_obj=document_obj.add_picture("图片地址",宽,高)

image_obj=document_obj.add_picture("图片地址",width=Inches(5),height=Inches(5))

5.添加表格:add_table

6.分页 add_page_break()

  1. 设置全局样式 document_obj.styles'Noemal'
  • 查看所有样式
  • 设置全局样式
  • 文本样式
  • 图片样式
  • 表格样式

生成pdf

  1. pdf工具包:pdfkit

https://wkhtmltopdf.org/downloads.html中可以下载不同系统的模块

2.html转pdf

3.网址转pdf

4.字符串生成pdf

5.word转html

  1. demo
复制代码
# coding:utf-8

import pdfkit
from pydocx import PyDocX

#html转pdf

#注意需要先按装依赖在:https://wkhtmltopdf.org/downloads.html下载
path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'

config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)
#html文件转pdf
#pdfkit.from_file("你好.html","你好1.pdf",configuration=config)

#网址转pdf
#pdfkit.from_url("https://www.imooc.com","慕课网.pdf",configuration=config)

html="""
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<h1>你好</h1>
</body>
</html>
"""
#html字符串转pdf
#pdfkit.from_string(html,"你好.pdf",configuration=config)

#word转pdf 先将word转为html
html_word=PyDocX.to_html("测试.docx")
pdfkit.from_string(html_word,"测试.pdf",configuration=config)
相关推荐
许彰午8 小时前
85_Python Flask开发RESTful API
python·flask·restful
梦想不只是梦与想9 小时前
OmegaConf 配置管理库的使用
python·omegaconf·结构化配置
@陈小鱼9 小时前
MATLAB+Python:基于小样本卷积神经网络的 PPG 血压预测
人工智能·python·机器学习·matlab·脉搏波·血压·一维卷积神经网络
卷无止境9 小时前
Python数据进阶专题:用声明式验证让数据管道告别"惊喜"
后端·python·数据分析
qetfw9 小时前
CentOS 7 搭建 DNS 主从服务
linux·运维·centos·dns·bind
不坑老师10 小时前
怎么在Word中制作汉字书写笔顺——不坑盒子汉字笔顺步骤在小学低段识字教学中的应用
前端·数据库·人工智能·word·excel·office
码云骑士10 小时前
61-LangChain-vs-LlamaIndex-选型对比-功能矩阵-混用实践
python·线性代数·矩阵·langchain
阿豪只会阿巴10 小时前
两小时快速入门 FastAPI--第一回
开发语言·python·fastapi
柠石榴10 小时前
远程连接校内服务器 ssh
运维·服务器·ssh
极客先躯10 小时前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试