python字体类型arial_python-3.x - 为什么我的font.name属性不影响使用Python-pptx制作的ppt上的字体? 我总是得到arial字体 - 堆栈内存溢出...
因此,我正在尝试编写一些程序以使用Python将html转换为pptx。 我正在使用一些代码来解析文件,然后在运行级别设置文本格式。
我在空白幻灯片上使用2个文本框架来工作,第一个文本框架用于标题,第二个文本框架用于呈现html的正文。
但是无论我做什么(Paragraph.font.name或run.font.name),我总是在第二个文本框中使用Arial字体。
我试图通过遍历tf.paragraphs以及遍历所有运行(paragraph.runs)来更新字体名称,但似乎没有任何效果。
这是我用来设置字体的功能
def setFont(font,tags,fontStyle,size):
font.language_id = MSO_LANGUAGE_ID.HEBREW
font.size = Pt(size)
font.name = fontStyle
for tag in tags:
if tag == 'b':
font.bold = True
elif tag == 'i':
font.italic = True
elif tag == 'u':
font.underline = True
return font
这是我的主要调用函数(我删除了一些与python-pptx不直接相关的其他调用)
def makeSlide(prs,title,body,fontStyle,titleSize,bodySize):
#Add title Slide
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)
width = height = Inches(8)
txBox = slide.shapes.add_textbox(Inches(1), Inches(0.5), Inches(8), Inches(1))
tf = txBox.text_frame
tf.text = title
tf.paragraphs[0].font.size=Pt(titleSize)
tf.paragraphs[0].font.bold = True
tf.paragraphs[0].font.color.rgb = RGBColor(255,0,0)
tf.paragraphs[0].font.name = fontStyle
tf.paragraphs[0].alignment = PP_ALIGN.CENTER
styles = MY_CUSTOM_HTML_BODY_PARSER() #Removed this part from here, its just a parser which gives output in a desired format
#Start 2nd textbox for body
txBox2 = slide.shapes.add_textbox(Inches(0.5), Inches(1.7), Inches(9), Inches(5.5))
tf = txBox2.text_frame
tf.clear()
tf.word_wrap = True
tf.paragraphs[0].text = ''
tf.paragraphs[0].font.name = fontStyle
paragraph = tf.add_paragraph()
paragraph.alignment = alignment
#Loop over styles (Tag info and render pptx accordingly)
new_line = True
level = 0
number = 0
for _ in styles:
#Can ignore this part, I'm just checking to see if I have to go on a new line or not
if _ == '\n':
paragraph = tf.add_paragraph()
paragraph.alignment = alignment
new_line = True
else:
tags = _[1]
#Can also ignore this, I'm checking to see if I have to be on next level in lists or not
#(I use custom bullet function, since python-pptx doesn't have a function for numbered bullets.
if _[1].count('ul') > 1 or _[1].count('ol') > 1 or _[1].count('ul') + _[1].count('ol') > 1:
level = 1
if new_line:
paragraph.level = level
level = 0
else:
paragraph = tf.add_paragraph()
paragraph.alignment = alignment
paragraph.level = level
level = 0
new_line = True
if new_line:
run = paragraph.add_run()
#Custom bullet function as u can see I send in fontStyle here and apply style inside function
run,number = addBullets(run,tags,bodySize-3,number,fontStyle)
new_line = False
run = paragraph.add_run()
run.text = parser.words_styles[_[0]][0]
font = run.font
#SetFont function Defined above
font = setFont(font,tags,fontStyle,bodySize)
new_line = False
for paragraph in tf.paragraphs:
paragraph.font.name = fontStyle
for run in paragraph.runs:
if run.font.name != fontStyle:
print(run.text)
#return slide
return slide
我不太确定自己在哪里做错了,将不胜感激,如果需要,我可以清理更多代码。
python字体类型arial_python-3.x - 为什么我的font.name属性不影响使用Python-pptx制作的ppt上的字体? 我总是得到arial字体 - 堆栈内存溢出...相关推荐
- python打开xlsm,python - 使用python在excel xlsm上写数组时拒绝Errno 13权限 - 堆栈内存溢出...
我正在尝试通过以下公式将协方差矩阵粘贴到现有xlsm文件上,但是它不起作用. Cov Matrix是一个数组. 你能帮我吗? Error I get is: [Errno 13] Permission ...
- linux下java调用python脚本,java - 在Linux Terminal中以编程方式从Java调用python脚本 - 堆栈内存溢出...
我正在开发一个Java应用程序,用于检查源文件中的补丁程序(是否存在). 用于检测补丁程序更改的核心逻辑位于python脚本[titled'patch.py']中,并且我的Java应用程序与此Py ...
- java pdf 用系统字体大小_java - Java PDFBox设置PDF表单中几个字段的自定义字体 - 堆栈内存溢出...
使用穷人的大胆 我如何大胆的领域? ......我需要设置哪些大胆的字段? 在PDF中,您通常使用带粗体字形的字体使文本变为粗体,另请参阅第二个问题. 如果你手上没有这么大胆的字体,你可能会使用一些穷 ...
- java drawstring 字体_java - 为什么字体大小为101的Graphics2D.drawString字母“o”坏了? - 堆栈内存溢出...
我想在png中绘制字符串. 我需要高达600像素的字母. 因此我尝试使用Graphics2D.drawString: String text = "o"; graphics.set ...
- aws 部署python lambda_python - 如何使用Aws Lambda(python)接收文件 - 堆栈内存溢出
我正试图弄清楚如何通过Python中的API调用接收浏览器发送的文件. 允许Web客户端发送任何类型的文件(例如.txt,.docx,.xlsx,...). 我不知道我是否应该使用二进制文件. 想法是 ...
- python dtype o_python - 什么是dtype('O')? - 堆栈内存溢出
当你在数据帧中看到dtype('O') ,这意味着Pandas字符串. 什么是dtype ? 什么属于pandas或numpy ,或两者,或其他什么? 如果我们检查一下pandas代码: df = p ...
- python多个摄像头_python - 使用python和OpenCV与VideoCapture洞察多个网络摄像头捕获 - 堆栈内存溢出...
我正在尝试同时(或几乎同时)从多个网络摄像头捕获图像. 我一直在玩OpenCV ,使用VideoCapture和python编程. 但有一些困惑,希望有人可以帮助解释事情...... 首先,我尝试了V ...
- python中tolist_python - 无法使用Gremlinpython使用“ .toList()”列出Janusgraph中存在的所有顶点 - 堆栈内存溢出...
我尝试测试创建的图形中的内容,以查看是否确实创建了节点. 创建一个小的图形进行测试的代码: from gremlin_python import statics from gremlin_python ...
- python编写数学公式大全_python - 用python编写数学公式 - 堆栈内存溢出
我正在用python编写此公式. 请查看图片我正在使用以下代码. 它总是会出错. import math import matplotlib matplotlib.use('TkAgg') from ...
最新文章
- mysql 数据目录更改
- html如何呈现在显示器,lcd显示器采用什么显示方式
- android 开发 时间选择器TimePicker的使用
- word域变成正常文本_word文档中打钩的8种方法!(全网最全)
- 转换mp3名称的小程序
- python中list_python中list方法详解说明
- 服务器添加管理员隐藏账号,绝招:隐藏管理员账号 三分钟搞定
- C++语言vector容器介绍和示例
- 【leetcode】遍历二叉树从跟到叶子的核心代码
- [转]linux signal
- mac unity3D汉化包
- python 绘制三维图
- 同时掌握96门语言,取得多项世界突破,百度发布预训练模型ERNIE-M
- 全球及中国水电行业开发规划及十四五投资战略报告2021年版
- 正阅读微信小说分销系统-视频教程-1.渠道商-公众号配置-基础信息
- 南京柳树湾与云南汉族人
- Aria2 下载工具(转)
- 记录——python与华为云数据库MYSQL的交互
- QQ2005正式版将于27日发布!(转)
- Arduion实验九 轻触开关实验
热门文章
- pscs6免激活版,
- cocos2d lua 环境搭建
- win10搭建网络代理,供Linux使用
- SCI-EI-收录-检索-出版商 之间的关系
- java mysql 订单表设计
- 解决vim-plug无法下载插件或者插件下载过慢的问题
- 如何打包浏览器的扩展程序
- macbook视频格式转换_告别格式工厂的视频格式转换方法(mac版 命令行)
- md文件 linux,MD 文件扩展名: 它是什么以及如何打开它?
- win10老是弹出计算机管理器,win10系统Ie11老是弹出“管理加载项”提示框取消的处理办法...