Как конвертировать Docx в HTML

#python #docx

Вопрос:

У меня есть очень большой файл docx. В нем около 400 страниц. Я конвертирую его в HTML, а затем добавляю к нему другой HTML, используя эту функцию.

 def fn(txt, tag):
    if tag.name != "h3":
        return
    t = re.sub(r"s{2,}", " ", tag.get_text(strip=True))
    return txt in t
def append_html(html_string_new, html_string,temp_folder):
    soup1 = BeautifulSoup(html_string, "html.parser")

    soup2 = BeautifulSoup(html_string_new, "html.parser")

    for li in soup2.select("h3   ol > li"):
        h3_text = li.find_previous("h3").get_text(strip=True)
        print(h3_text)
        h3_soup1 = soup1.find(lambda t: fn(h3_text, t))
        if not h3_soup1:
            continue


        h3_soup1.find_next("ol").insert(0, li)

    full_html = (
            '<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body>'
              str(soup1)
              "</body></html>"
    )
    full_html = full_html.replace("<p>","")
    full_html = full_html.replace("</p>","")
    pypandoc.convert_text(full_html, format="html", to='docx',
                          outputfile=os.path.join(temp_folder, "section2_concat.docx"))
 

А затем я добавляю этот файл docx к существующему файлу docx в системе с помощью docx compose. Проблема в том, что когда я открываю этот документ, в нем говорится, что не удается обновить дисплей из-за нехватки памяти. Я нажимаю «ОК», и затем документ кажется в порядке, за исключением того, что через несколько минут ошибка возникает снова. Я предполагаю, что это из-за Pypandoc из-за https://github.com/jgm/pandoc/issues/3169

Есть ли какая-либо альтернатива Pypandoc?