Skip to content

Instantly share code, notes, and snippets.

@Konard
Created March 19, 2023 22:35
Show Gist options
  • Save Konard/46fae096055795bc2b0f919c7c782593 to your computer and use it in GitHub Desktop.
Save Konard/46fae096055795bc2b0f919c7c782593 to your computer and use it in GitHub Desktop.

Кто знает способ нормально запушить mathMl выражения в docx файл? например с помощью js или python


Для вставки MathML выражений в docx файл, вы можете использовать Python с библиотекой python-docx. Библиотека python-docx позволяет создавать, редактировать и сохранять файлы Microsoft Word (.docx). Для работы с MathML, вы можете использовать пакет python-docx-omml для преобразования MathML в Office MathML (OMML), который совместим с форматом .docx.

Сначала установите необходимые пакеты:

pip install python-docx python-docx-omml

Затем используйте следующий код для создания .docx файла с вставленным MathML выражением:

import docx
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx_omml import mathml_to_omml

def add_mathml_to_docx(mathml, docx_file):
    doc = docx.Document()

    # Вставка MathML выражения
    omml = mathml_to_omml(mathml)
    paragraph = doc.add_paragraph()
    paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = paragraph.add_run()
    run._r.append(omml)

    doc.save(docx_file)

# Пример MathML выражения
mathml = '''
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mfrac>
    <mrow>
      <mi>a</mi>
    </mrow>
    <mrow>
      <mi>b</mi>
    </mrow>
  </mfrac>
</math>
'''

add_mathml_to_docx(mathml, 'output.docx')

Этот пример создаст новый .docx файл с именем 'output.docx' и вставит в него заданное MathML выражение. Вы можете изменить переменную mathml на ваше выражение.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment