栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pywin32/win32com批量转格式doc/docx/pdf/html/python-docx批量修改Word文档内容和格式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pywin32/win32com批量转格式doc/docx/pdf/html/python-docx批量修改Word文档内容和格式

import re
import os
from win32com.client import Dispatch
from docx import document as Doc
from docx.enum.style import WD_STYLE_TYPE
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Pt
from docx.oxml.ns import qn


def initdoc(docdir):
    docx = Doc(docdir)
    t_s = docx.styles.add_style('t_s', WD_STYLE_TYPE.PARAGRAPH)
    t_s.font.size = 203200
    t_s.font.name = '方正楷体简体'
    t_s.font.bold = True
    t_s.paragraph_format.line_spacing = Pt(18)
    t_s.paragraph_format.left_indent = None
    t_s.paragraph_format.space_before = None
    t_s.paragraph_format.space_after = 76200
    t_s.paragraph_format.first_line_indent = None
    t_s.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
    docx.styles['t_s']._element.rPr.rFonts.set(qn('w:eastAsia'), '方正楷体简体')
    return docx


def doc2docx(s_dir):
    App = Dispatch("Word.Application")
    App.Visible = False
    doc = App.documents.Open(s_dir)
    s_dir += 'x'
    doc.SaveAs(s_dir, 12) # 12就是docx, 详情查看下个代码块


def main():
    filedir = "C:/Users/Desktop/batch_word/msg.doc"
    if re.search(r'doc$', filedir):
        filedir += "x"
        if not os.path.exists(filedir):
            doc2docx(filedir[:-1])

    docx = initdoc(filedir)

    for para in docx.paragraphs:
        if '第一系列' in para.text:
            para.text = para.text.replace('一', '三')
            para.style = 't_s'
        savedir = "C:/Users/Desktop/batch_word/msg_modi.docx"
        docx.save(savedir)


main()

转格式问题:

open(r'c:text','r')
wdFormatdocument = 0
wdFormatdocument97 = 0
wdFormatdocumentDefault = 16
wdFormatDOSText = 4    # .txt
wdFormatDOSTextLineBreaks = 5
wdFormatEncodedText = 7
wdFormatFilteredHTML = 10 # .html
wdFormatFlatXML = 19
wdFormatFlatXMLMacroEnabled = 20
wdFormatFlatXMLTemplate = 21
wdFormatFlatXMLTemplateMacroEnabled = 22
wdFormatHTML = 8
wdFormatPDF = 17 # .pdf
wdFormatRTF = 6 # .rtf
wdFormatTemplate = 1
wdFormatTemplate97 = 1
wdFormatText = 2
wdFormatTextLineBreaks = 3
wdFormatUnicodeText = 7 # .txt
wdFormatWebArchive = 9
wdFormatXML = 11 # .doc
wdFormatXMLdocument = 12  # .docx
wdFormatXMLdocumentMacroEnabled = 13
wdFormatXMLTemplate = 14
wdFormatXMLTemplateMacroEnabled = 15
wdFormatXPS = 18
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344098.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号