视频直播源码,插入图片、删除图片、设置图片大小、提取图片
1.插入图片
Document对象有一个add_paragraph()方法插入图片,只需要传入路径或者字节流即可,实际上它也是调用段落的Run对象的add_picture()

from docx import Documentdoc = Document()
doc.add_paragraph("在下面插入一张图片")
doc.add_picture("./01.png")  # 等同于doc.add_paragraph().add_run().add_picture()
doc.save('./test.docx')

插入的图片被保存为一个type为3的InlineShape对象,InlineShape还有其他常用类型如下

CHART = 12
LINKED_PICTURE = 4
PICTURE = 3
SMART_ART = 15
NOT_IMPLEMENTED = -6

我们可以通过Document对象的inline_shapes()获取所有InlineShape

doc = Document()
doc.add_paragraph("在下面插入一张图片")
doc.add_picture("./01.png")
print(doc.inline_shapes)
print(doc.inline_shapes[0].type)  # 图片的type=3

2.删除图片
图片是保存在段落中的,所以我们需要清空有图片的那个段落即可

doc = Document()
doc.add_paragraph("在下面插入一张图片")
doc.add_picture("./01.png")
# 此处是第2个段落有图片
doc.paragraphs[1].clear()
print(doc.inline_shapes)

3.调整图片大小
在插入图片的时候可以顺便指定宽度(width)和高度(height),若都不指定则是原图大小,若只指定了一个则等比缩放,当然宽度和高度属性也可以直接获取和修改。另外,插入的图片默认dpi=72

from docx import Document
from docx.shared import Cm, Inchesdoc = Document()
doc.add_paragraph("在下面插入一张图片")
picture = doc.add_picture("./01.png", width=Cm(5))  # 插入图片时指定大小为5cm
# 查看尺寸
print(picture.width.cm)  # 5.0
print(picture.height.cm)  # 5.403397222222222
# 修改尺寸
picture.width = Inches(3.6)  # 图片宽度改为3.6英尺,但注意是否被拉伸,如果不行被拉伸请自己计算长宽比
picture.width = int(picture.width * 0.50)  # 宽度缩放为原来的50%
picture.height = int(picture.height * 0.50)  # 高度缩放为原来的50%
doc.save('./test.docx')

4.图片对齐
因为图片是在段落里的,所以我们只需要对所在段落对齐即可

from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENTdoc = Document()
doc.add_paragraph("在下面插入一张图片")
picture = doc.add_picture("./01.png")
doc.paragraphs[1].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 居中对齐
# WD_PARAGRAPH_ALIGNMENT.LEFT: 左对齐
# WD_PARAGRAPH_ALIGNMENT.CENTER: 居中对齐
# WD_PARAGRAPH_ALIGNMENT.RIGHT: 右对齐
# WD_PARAGRAPH_ALIGNMENT.JUSTIFY: 两端对齐
# WD_PARAGRAPH_ALIGNMENT.DISTRIBUTE: 分散对齐
doc.save('./test.docx')

5.提取图片
python-docx没有提供提取图片的功能,但part对象提供了related_parts(),我们可以通过这个方法用图片id获取图片,图片id我们可以通过xpath从xlm文档中提取(使用解压软件解压Word文档即可得到xlm文件)。下面的代码仅供参考

from os.path import basenamefrom docx import Document, ImagePartdoc = Document("./test.docx")
for p in doc.paragraphs:images = p._element.xpath('.//pic:pic')  # 获取所有图片for image in images:for img_id in image.xpath('.//a:blip/@r:embed'):  # 获取图片idpart = doc.part.related_parts[img_id]  # 根据图片id获取对应的图片if isinstance(part, ImagePart):# 保存图片with open(basename(part.partname), "wb") as f:f.write(part.blob)

以上就是 视频直播源码,插入图片、删除图片、设置图片大小、提取图片,更多内容欢迎关注之后的文章

视频直播源码,插入图片、删除图片、设置图片大小、提取图片相关推荐

  1. 一对一视频直播源码|手机视频直播平台android源码/可打包视频直播

    源码介绍 一对一视频直播源码|手机视频直播平台android源码集视频.语音.动态.直播.社交等功能于一身. 前端功能说明: 登入注册:手机验证码登入.编辑个人信息.上传头像 首页直播:查看主播用户. ...

  2. 短视频直播源码 语音直播原生APP源码

    直播APP源码 短视频直播源码 前端:原生APP   安卓端:Java  苹果端:OC 后台:PHP 数据库:Mysql 技术框架:Thinkphp5.1 了解源码内容可私信我. 直播+短视频+带货+ ...

  3. 视频直播软件开发关于亚马逊s3接入方式,视频直播源码创建存储桶方法

    一.登录亚马逊账户,进入S3 建立新的存储桶,用于视频直播源码的文件存储. 注册 Amazon S3 后,您就可以开始使用 AWS 管理控制台 创建存储桶.Amazon S3 中的每个对象都存储在存储 ...

  4. 一对一视频直播源码实现网络中一对一视频聊天

    一对一视频直播源码实现网络中一对一视频聊天 代码实现步骤 概述 首先要通信那就得满足通信的基础,我选择和目标放通信,前提就是我通过一定的条件将自己和目标建立链接,然后再将自己的通信信息交给目标,目标也 ...

  5. 直播app代码公布:视频直播源码转盘功能的实现

    直播中,最重要的是互动,在视频直播源码中,游戏是增强观众和主播的互动的重要功能,下面为大家介绍直播间转盘游戏功能,并介绍其直播app代码实现方式 如上图所示,直播间下部的紫色部分是一个转盘面板,四周的 ...

  6. 视频直播源码_直播平台搭建_直播程序源码——技术架构解析

    一.视频直播源码的技术架构: 直播视频采集SDK(PC/IOS/Anddroid)--直播CDN (直播流分发加速)--直播视频播放器SDK(PC/IOS/Android) 二.视频直播源码中音视频处 ...

  7. Android视频直播源码开发直播平台、点播播放器哪家强?

    Android视频直播源码开发直播平台.点播播放器哪家强? 最近在项目中要加入视频直播和点播功能,那么问题来了,我需要一个播放器来播放视频流,那该如何选择呢?除了原生的VideoView(VideoV ...

  8. 短视频+直播源码,直播老司机带你飞

    短视频+直播源码,直播老司机带你飞 脱胎于视频直播的短视频以近乎疯狂的速度攫取着互联网的流量,当抖音.快手的月活已经足够强大,他们又毫不犹豫地切入了直播腹地. 当互联网竞争进入下半场,依靠互联网人口. ...

  9. 视频直播源码 直播软件搭建进行直播推流时,对声音进行音质优化

    视频直播源码 直播软件搭建进行直播推流时,对声音进行音质优化 最近我们在使用WebRTC进行直播推流的时候,遇到了音乐音质不好的问题,对此进行优化后,音乐音质有很大提升,因此记录下优化过程,分享出来 ...

最新文章

  1. Andraoid 状态栏透明的方法
  2. 手机应用:非功能需求 Check List
  3. 单点登录框架 OpenSSO
  4. redis分片_5000+字硬核干货!Redis 分布式集群部署实战
  5. 前端学习(1998)vue之电商管理系统电商系统之实现步骤条和tab栏的数据
  6. JQUERY在线引用地址
  7. ubuntu和windows上pip和windows上conda国内源更新module
  8. ucc编译器(语法解析)
  9. numpy元素特定条件查找过滤
  10. 利用mysql5.6 的st_distance 实现按照距离远近排序。 (转载)
  11. Java高级:面试题-1
  12. 软件测试面试题:设计系统测试计划需要参考的项目文档?
  13. f1c100linux系统吗,全志F1C100s怎么样 F1C100s芯片参数介绍
  14. 河北农大计算机专业全国排名,2019河北农业大学现代科技学院专业排名
  15. linux系统下一页,linux下一页
  16. 100以内所有质数的输出。
  17. 【Unity3D游戏开发】NGUI制作字体的三种方法 (二一)
  18. AutoRec模型结构详解
  19. 【学术会议】如何rebuttal学术论文?
  20. 数据变换,数据规范化的方法之归一化(Min-max规范化)、标准化(Z-score规范化)、小数定标规范化

热门文章

  1. 计算机网络中不同层的服务,计算机网络——网络层
  2. 格式工厂将视频导出Maya需要的图像序列帧
  3. 教育叙事计算机学科,信息技术课的教育叙事.doc
  4. 哈佛大学公开课:计算机科学cs50 学习笔记及代码练习(第14集:栈,队列,哈希表,树)
  5. 计算机应用基础【学习笔记】
  6. 原来国家名字也可以如此浪漫,除了日本!
  7. java让关键词自动加超链接,ASP实现关键词自动添加超链接代码与使用方法
  8. 我们的那些故事(写给1987—1990年出生的同学,希望您能够看看)
  9. 怎样选购低价靠谱的云主机?看小伙伴怎么做!
  10. 106短信平台在电商行业中有什么作用?