pip3 install python-docx 或 conda install python-docx
#安装docx 库
Word文档(Document) 由不同段落(Paragraph) 和文字块 (Run) 组成:1、每个**Document包含许多个代表“段落”的Paragraph对象,存放在document. paragraphs**中;2、每个**Paragraph都有许多个代表“行内元素”的Run对象,存放在paragraph.runs**中。
字体设置
add_run##修改格式 字号、颜色等
font.name的设置为全局变量,如果需要进行多种字体设置,可以设置成不同的style_font进行调用或者定义字体设置函数(font_setting)。style_font可以设置每一行每个字,而font_setting只能设置段落。
插入图片与表格
文件名.add_picture('111.jpg',width=Inches(1.0), height=Inches(1.0))# 新增名为“111”的图片
table1 = doc_1.add_table(rows=2, cols=1) # 创建3行1列表格
table1.style='Medium Grid 1 Accent 1' #表格样式很多种,注意标明
设置页眉页脚
对文档中节(section)中的页眉(header)和页脚 (footer) 对象进行操作即可
格式设置
paragraph_format #进行设置段落格式
对齐设置
from docx.enum.text import WD_ALIGN_PARAGRAPH
LEFT# 左对齐
CENTER# 文字居中
RIGHT# 右对齐
JUSTIFY# 文本两端对齐
设置段落行距
from docx.shared import Length
SINGLE #单倍行距(默认)
ONE_POINT_FIVE # 1.5倍行距
DOUBLE2 # 倍行距
AT_LEAST # 最小值
EXACTLY#固定值
MULTIPLE # 多倍行距
paragraph.line_spacing_rule = WD_LINE_SPACING.EXACTLY #固定值
paragraph_format.line_spacing = Pt(**) # 固定值**磅
paragraph.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #多倍行距
paragraph_format.line_spacing = ** # 设置**倍行间距
设置字体属性
from docx.shared import RGBColor,Pt
all_caps#全部大写字母
bold#加粗
color#字体颜色
double_strike#双删除线
hidden # 隐藏
imprint # 印记
italic # 斜体
name #字体名称
shadow #阴影
strike # 删除线
subscript #下标
superscript #上标
underline #下划线
import os
from PyPDF2 import PdfFileWriter, PdfFileReader#相关功能使用库PyPDF2 和 pdfplumber。
批量拆分
将完整PDF拆分成不同页数PDF。步骤:1、读取 PDF 的整体信息、总页数等;2、遍历每一页内容,以每个 step 为间隔将 PDF 存成每一个小的文件块;3、将小的文件块重新保存为新的 PDF 文件
批量合并
步骤:1、确定要合并的文件顺序;2、循环追加到一个文件块中;3、保存成一个新的文件
提取文字内容
使用 pdfplumber 库的 extract_text 函数进行实现
提取表格内容
使用 pdfplumber 库的 extract_table 函数进行实现。多个表格改为使用 extract_tables
提取图片内容
使用 PyMuPDF 模块中的 fitz,步骤:1、使用 fitz 打开文档,获取文档详细数据;2、遍历每一个元素,通过正则找到图片的索引位置;3、使用 Pixmap 将索引对应的元素生成图片;4、通过 size 函数过滤较小的图片
PDF转换为图片
pdf2image 库
添加水印
在现有的水印PDF文件基础上,依次通过 mergePage 把每一页PDF合并到水印文件上,最后将每一页待水印的PDF合并成一个文件