Транскрибирование файлов Word docx через python -docx для изменения шрифта и размера шрифта, - PullRequest
0 голосов
/ 24 февраля 2020

Целью является расшифровка файлов .docx с измененным шрифтом и размерами шрифта с сохранением таких атрибутов прогона, как жирный шрифт, подчеркивание, италий c et c.

Как восстановить абзацы из прогонов ?

from docx import Document
from docx.shared import Pt

def main(filename):
    try:
        src_doc = Document(filename)
        trg_doc = Document()

        style = trg_doc.styles['Normal']
        font = style.font
        font.name = 'Times'
        font.size = Pt(11)

        for p_cnt in range(len(src_doc.paragraphs)):
            for r_cnt in range(len(src_doc.paragraphs[p_cnt].runs)):
                curr_run = src_doc.paragraphs[p_cnt].runs[r_cnt]
                print('Run: ', curr_run.text)
                paragraph = trg_doc.add_paragraph()

                if curr_run.bold:
                    paragraph.add_run(curr_run.text).bold = True
                elif curr_run.italic:
                    paragraph.add_run(curr_run.text).italic = True
                elif curr_run.underline:
                    paragraph.add_run(curr_run.text).underline = True
                else:
                    paragraph.add_run(curr_run.text)

        trg_doc.save('../Output/the_target.docx')

    except IOError:
        print('There was an error opening the file')

if __name__ == '__main__':
    main("../Input/Current_File.docx")

Ввод :

1.0 ЦЕЛЬ Целью этой процедуры является обеспечение того, чтобы все отзывы регистрировались, документировались и все полученные жалобы были получены, оценены и рассмотрено в соответствии с 21 CFR Part 820 и ISO 13485

Выход:

ЦЕЛЬ Цель этой процедуры состоит в том, чтобы

все отзывы были зарегистрированы ,

задокументировано и все полученные жалобы получены,

оценены и рассмотрены

в соответствии с 21 CFR P art 820

и ISO 13485.

...