Skip to main content

Convert markdown inside Docx to docx styles

Project description

MarkDownToDocxStyle

Convert Markdown inside Office Word documents

Installation

pip install markdowntodocx

Usage

to convert an existing Docx file:

see examples/example.py

from markdowntodocx.markdownconverter import convertMarkdownInFile

convertMarkdownInFile("/mypath/to/document.docx", "output_path.docx", {"Code Car":"CodeStyle"})

Styles and considerations

You have to define styles in you word document in order to use Markdown **Headers/titles**, **Hyperlinks**, **Code formatting**, **Arrays**, **Unordered List**.

This styles are either standard markdown or come from extended markdown : https://www.markdownguide.org/extended-syntax/

  • Emphasis (italic) *Text* or _Text_: converts to word italic

  • Strong Emphasis (Bold) **Text** or __Text__: converts to word bold

  • Strike through (Strike) ~~Strike~~ : converts to word strike through style

  • Highlight (==highlight==) `==Highlight==' : converts to word Yellow highlight.

  • Header # MarkdownHeader1 to ###### MarkdownHeader6:

    • Must be in alone in a paragraph. IF NOT, the rest will be erased.
    • It will use the document style named "Header" by default.
    • You can specify another style by giving the style dictionnary as last arg for both functions.
    • E.g : res, msg = convertMarkdownInFile("examples/in_document.docx", "examples/out_document.docx", {"Header":"style_name"})
  • (EXTENDED SYNTAX FOR WORD) Change font color <color:FF0000> this text will be very red because the color is in RGB format</color> or <span style="color: rgb(230, 0, 0);> REd colored text </span>

  • Inline Code `Text` (my code):

    • It will use the document style named "Code" (Caracter format) by default.
    • You can specify another style by giving the style dictionnary as last arg for both functions.
    • E.g : markdownToWordInFile("/mypath/to/document.docx", "output_path.docx", {"Code Car":"my_inline_code_style"})
  • Code Block ` ` `T e x t` ` `

my code
* It will use the document style named "Code" by default. 
* You can specify another style by giving the style dictionnary as last arg for both functions. 
* E.g : `markdownToWordInFile("/mypath/to/document.docx", "output_path.docx", {"Code":"my_block_code_style"})`
  • Insert Image ![Image name](http://link.do.web/myimage.png):

    • It will download the image from the hyperlink and insert the picture with a width of 18cm
  • Hyperlink [google](https://www.google.fr) : Makes it a Word hyperlink google

    • Will also attempt to convert any valid http hyperlink to word : http://www.google.fr -> http://www.google.fr
    • If the link does not start with http, it will be treated as an internal link to a bookmark
  • (EXTENDED SYNTAX FOR WORD) Bookmark ``this will be bookmared with name bookmark1{#bookmark1}

    • You may hyperlink to it : [url text to display]{bookmark1}
  • Footnotes (BETA) :

    • Inline foot notes : this is a conundrum^[https://fr.wiktionary.org/wiki/conundrum]
    • External foot notes : ``` This paragraph will have a footnote[^1] And this paragraph will have another[^2] [^1]: This is a footnote with markdown as well bold And it can have many lines if they are indented. [^2]: This is the second footnote
    
    
  • Array to wordlist: (must be alone in a paragraph otherwise the rest of the paragraph is deleted)

|Column1|column2|Column3|
|-------|-------|-------|
|line|line|line|

-->

Column1 column2 Column3
line line line
* Cells created will use the document style named "Cell" by default. 
* You can specify another style by giving the style dictionnary as last arg for both functions. 
* E.g : `markdownToWordInFile("/mypath/to/document.docx", "output_path.docx", {"Cell":"my_cell_style"})`
  • Unordered List : (- my list or * my list or + my list) :
    • Must be in alone in a paragraph. IF NOT, the rest of the paragraph will be erased.
    • It will use the document style named "Header" by default.
    • You can specify another style by giving the style dictionnary as last arg for both functions.
    • E.g : markdownToWordInFile("/mypath/to/document.docx", "output_path.docx", {"BulletList":"my_bullet_style"})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markdowntodocx-0.1.5.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

markdowntodocx-0.1.5.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file markdowntodocx-0.1.5.2.tar.gz.

File metadata

  • Download URL: markdowntodocx-0.1.5.2.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for markdowntodocx-0.1.5.2.tar.gz
Algorithm Hash digest
SHA256 cec9595c023a621b5a3915dfbdabec2d5546df96ca6bb9adeb201bc9f4702ebd
MD5 7b15e49c409f15ba05253a348b24e054
BLAKE2b-256 193879f026e582427a47db6e3cf79c7a6ae5f3d82df9e5e1af0b30585a8e225e

See more details on using hashes here.

File details

Details for the file markdowntodocx-0.1.5.2-py3-none-any.whl.

File metadata

File hashes

Hashes for markdowntodocx-0.1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d395d0111b0a33bec40ad0945d9337fc904e0c0b5316f8be2d9c5ae6bc500fd3
MD5 3a2ebc7c8a8a1c74d654787c332cedff
BLAKE2b-256 3f7f017313db43287da33fb29c756d6b512e14723abc228d62112c04550e41ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page