第十天-自动化办公-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)
相关推荐
小安运维日记几秒前
Linux云计算 |【第三阶段】PROJECT1-DAY1
linux·运维·云计算·apache
今天也要加油丫几秒前
`re.compile(r“(<.*?>)“)` 如何有效地从给定字符串中提取出所有符合 `<...>` 格式的引用
python
pyliumy17 分钟前
rsync 全网备份
linux·运维·服务器
苹果醋339 分钟前
SpringCloud系列之一---搭建高可用的Eureka注册中心
运维·nginx
诚诚k44 分钟前
docker存储
运维·docker·容器
ggb19991 小时前
【python的坑】vpn下,python request报错 check_hostname requires server_hostname
linux·运维·服务器
农民小飞侠1 小时前
python AutoGen接入开源模型xLAM-7b-fc-r,测试function calling的功能
开发语言·python
-SGlow-1 小时前
Linux相关概念和重要知识点(4)(自举、vim)
linux·运维·vim
战神刘玉栋1 小时前
《程序猿之设计模式实战 · 观察者模式》
python·观察者模式·设计模式
敲代码不忘补水1 小时前
Python 项目实践:简单的计算器
开发语言·python·json·项目实践