首页 > 编程语言 >python-docx库 写入docx时中文不适配问题,中文异常问题解决办法。

python-docx库 写入docx时中文不适配问题,中文异常问题解决办法。

时间:2024-07-06 15:20:58浏览次数:19  
标签:中文 docx run 适配 style add paragraph1 font

python-docx库

写入docx时中文不适配问题,中文异常问题解决办法。

通过以下方法可以成功将正文修改为宋体字体。这个是全文设置。

from docx.oxml.ns import qn 
doc= Document()
doc.styles['Normal'].font.name = u'宋体'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

 

 

 

下面的方法,还未尝试,解决局部设置问题。。。待测试

from docx import Document
from docx.oxml.ns import qn
from docx.enum.style import WD_STYLE_TYPE

document = Document()

# 直接设置中文字体,对中文无效
paragraph1 = document.add_paragraph()
run = paragraph1.add_run('aBCDefg这是中文')
font = run.font
font.name = '宋体'

# 方法1 直接修改一个已有样式的所有文字的样式
style = document.styles['Normal']
style.font.name = 'Times New Roman' # 必须先设置font.name
style.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')

paragraph1 = document.add_paragraph()
run = paragraph1.add_run('修改Normal,修改所有字体')

# 方法2 直接设置文字
paragraph1 = document.add_paragraph()
run = paragraph1.add_run('这是直接设置文字的格式 仿宋_GB2312')
run.font.name ='宋体' # 必须先设置font.name, 只对英文文有效
# 对中文设置的方法:
run.element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')

# 方法3 新建样式
style_song = document.styles.add_style('Song', WD_STYLE_TYPE.CHARACTER)
style_song.font.name = 'Times New Roman'
# 设置中文字体
style_song.element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体') 

paragraph1 = document.add_paragraph() # 添加段落
paragraph1.add_run(u'方法3 中文字体黑体,英文字体Times New Roman', style='song')

标签:中文,docx,run,适配,style,add,paragraph1,font
From: https://www.cnblogs.com/hermione1985/p/18287280

相关文章

  • CLion中文乱码的解决方案
    在网上找了半天CLion中文乱码解决方案,众说纷纭。我就在此说一种最简单,快速,靠谱的方法。目录首先:然后:最后一步:首先:首先按··File->Settings...->Editor->FileEncodings··途径进入然后把-用粗红框框的全改成UTF-8;最后,点击ok退出然后:Ctrl+Shift+Alt+/  进入......
  • 深度学习驱动的中文情感分析:PlugLink 在实践中的桥梁作用
    深度学习驱动的中文情感分析:PlugLink在实践中的桥梁作用情感分析技术则如同滤网,帮助我们从这股洪流中筛选出有价值的情感信号。特别是对于中文这样的多音字、同音词丰富且语境复杂度高的语言,深度学习模型展现了无与伦比的优势。本文将以一个具体的应用案例出发,探讨如何利......
  • string str = “中文lin”不会报错,但为什么还必须使用wstring wstr
    在C++中,字符串字面量"中文lin"默认是窄字符字符串(char类型),而不是宽字符字符串(wchar_t类型)。当你尝试将这个字符串字面量赋值给一个std::string对象时,通常不会直接报错,但前提是源文件(.cpp文件)的编码支持这些字符。如果你的源文件是以UTF-8编码保存的,并且你的编译器(......
  • wstring wstr = “中文lin”会报错,wstring wstr = L“中文lin”不会报错
    在C++中,对于wstring的使用,有几个关键点需要注意:字符串字面量的前缀:宽字符字符串字面量必须以L前缀开头,以指示编译器该字符串字面量应该被当作宽字符(wchar_t)数组来处理。源文件编码:源文件(.cpp文件)的编码需要支持字符串中的字符。对于包含中文字符的宽字符串字面量,源文......
  • MAX98357、MAX98357A、MAX98357B小巧、低成本、PCM D类IIS放大器,具有AB类性能中文说明
    前言:MAX98357A支持标准I2S数据,MAX98357B支持左对齐数字音频数据。两个版本均支持8通道TDM音频数据。IIS数字功放MAX98357开发板/评估系统MAX98357WLP-9(1.347x1.437mm)封装的外观和丝印AKMMAX98357TQFN-16-EP(3x3mm)封装的外观和丝印AKK引脚说明WLP......
  • 【设计模式(七)】结构型模式--适配器模式
    定义:​ 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。把适配者类通过适配器转化为目标接口。例如下图的将三角接口转换成我们希望的二角接口适配器模式(Adapter)包含以下主要角色:目标(Target)接口:当前系统业务所期待的......
  • 纯 CSS 实现文字智能适配背景效果
    还记得2017年,我们响应朋友的邀约从高德离职出来创业的时候,遇到了一个相对来说有点特殊的需求,动态的文字有长有短,但是需要智能适配背景的颜色变成其对比色。大概效果如下: 仔细看会发现,哪怕半个文字存在于两个不同的背景色之间,这个文字也会被分割成两个颜色。看到这样的需......
  • 2024年亚太中文赛数学建模竞赛B题 洪水灾害的数据分析与预测详细思路解析
    2024年亚太中文赛数学建模竞赛B题洪水灾害的数据分析与预测详细思路解析解题方法:首先就是对数据进行数据的预处理包括缺失值和异常值处理,之后就是分析哪些指标与洪水的发生有着密切的关联,可以使用相关性分析(建议使用斯皮尔曼相关系数法,斯皮尔曼相关系数是一种度量两个变量......
  • c++中添加显示字体为中文
    sudoapt-getinstalllibfreetype6-dev安装上面的东西然后创建一个cmake同级下创建一个cvxtext文件夹并且创建cvxtext.h#ifndefOPENCV_CVX_TEXT_HPP_#defineOPENCV_CVX_TEXT_HPP_#include<freetype2/ft2build.h>#includeFT_FREETYPE_H#include<opencv2/opencv......
  • javascript url 传递参数中文乱码问题解决方案
    在JavaScript中,传递URL参数时,如果参数包含中文字符,可能会出现乱码问题。解决这一问题可以使用encodeURIComponent和decodeURIComponent函数。这些函数会对URL参数进行编码和解码,确保特殊字符(包括中文字符)能够被正确传递和解析。以下是一个完整的解决方案示例: 1.......