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
- Will also attempt to convert any valid http hyperlink to word :
-
(EXTENDED SYNTAX FOR WORD) Bookmark ``this will be bookmared with name bookmark1{#bookmark1}
- You may hyperlink to it :
[url text to display]{bookmark1}
- You may hyperlink to it :
-
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
- Inline foot notes :
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cec9595c023a621b5a3915dfbdabec2d5546df96ca6bb9adeb201bc9f4702ebd |
|
MD5 | 7b15e49c409f15ba05253a348b24e054 |
|
BLAKE2b-256 | 193879f026e582427a47db6e3cf79c7a6ae5f3d82df9e5e1af0b30585a8e225e |
File details
Details for the file markdowntodocx-0.1.5.2-py3-none-any.whl
.
File metadata
- Download URL: markdowntodocx-0.1.5.2-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d395d0111b0a33bec40ad0945d9337fc904e0c0b5316f8be2d9c5ae6bc500fd3 |
|
MD5 | 3a2ebc7c8a8a1c74d654787c332cedff |
|
BLAKE2b-256 | 3f7f017313db43287da33fb29c756d6b512e14723abc228d62112c04550e41ca |