开发者

python-docx文档格式修改方式

目录
  • python-docx文档格式修改
  • 思路
  • 实现
    • 第一种方法
    • 第二种方法
  • 总结

    python-docx文档格式修改

    今天,依然使用python-docx库来操作docx文档。

    这一次,我们想要讲文档中的某种格式直接替换为我们指定的格式。

    思路

    第一种方法:

    • 我们知道paragraph支持段落/字体的设置
    • 于是我们可以专门定义一个函数处理生成你需要的格式

    第二种方法:

    • 我们可以预先在word文档中设置好一个自己想要的格android式,
    • 然后将paragraph的style整体替换,
    • 通过这种方法,我们能够保留更全面的细节

    实现

    第一种方法

    查阅你的word预先设置的字体以及段落格式名称通过

    #设置本字段为加粗/斜体/下划线
    docx.paragraphs[0].runs[0].bold = True #加粗
    docx.paragraphs[0].runs[0].italic = True #斜体
    docx.paragraphs[0].runs[0].underline= True #下划线
    
    #设置字体大小为10磅
    docx.par编程agraphs[0].runs[0].font.Size = Pt(10) #10磅
    
    #设置段落间距等
    docx.paragraphs[0].paragraph_format.ljseft_indent = Cm(3) #左间隔3厘米
    docx.paragraphs[0].paragraph_format.right_indent = Cm(3) #右间隔3厘米
    docx.paragraphs[0].paragraph_format.line_spacing_rule(WD_LINE_SPACING.DOUBLE) #两倍行间距
    docx.paragraphs[0].paragraph_format.space_after = Pt(6) #段后6磅
    ... ...

    其他实现方法可以查阅源码run.py,paragraph.py以及parfmt.py三个文件

    接下来说一下第二种方法

    第二种方法

    个人比较喜欢第二种方法,预先在word中设置好style,然后直接通过python,将想要转换为特定格式的文档直接全部替换格式。

    通过word创建格式,有交互界面,能更直观得创建出自己想要的格式,实现如下:

    #直接将style对象替换掉
    docx.paragraphs[0].style = Styles.get_by_id(style_id, style_type)
    #style_id一般php是用户创建的格式名字去掉所有空格的形式
    #style_type一般是WD_STY编程客栈LE_TYPE.PARAGRAPH(作为段落格式创建)

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜