Mammoth: Konverzija DOCX u HTML na Linuxu

Mammoth je alat za konverziju DOCX datoteka u čisti HTML i Markdown, sa ciljem da generiše semantički ispravan kod bez preteranog stilizovanja. Koristan je kada želiš da konvertuješ dokumente sa fokusom na strukturu (naslovi, liste, tabele) bez gomile neurednog HTML koda.


Instalacija na Linuxu

Mammoth možeš koristiti kao CLI alat (komandna linija) ili Node.js/Python biblioteka.

1. Instalacija CLI verzije

Ako želiš Mammoth u komandnoj liniji:

npm install -g mammoth

ili ako koristiš Python verziju:

pip install mammoth

Osnovna upotreba Mammoth-a u CLI-u

Kada instaliraš Mammoth, možeš ga koristiti za konverziju DOCX fajlova u HTML:

mammoth input.docx > output.html

Ovo konvertuje input.docx u output.html, uklanjajući stilove i čuvajući samo osnovne HTML elemente.

Ako želiš da vidiš HTML direktno u terminalu:

mammoth input.docx

2. Konverzija u Markdown

Ako želiš Markdown umesto HTML-a:

mammoth --output-format=markdown input.docx > output.md

Upotreba u Pythonu

Ako koristiš Mammoth u Python skripti, evo primera:

import mammoth

with open("input.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file)
    html_output = result.value  # HTML kao string
    print(html_output)

Možeš i da sačuvaš HTML u fajl:

with open("output.html", "w") as html_file:
    html_file.write(html_output)

Napredne mogućnosti

Mammoth omogućava prilagođavanje konverzije pomoću stilskih mapa (style maps).

1. Korišćenje prilagođenih stilova

Ako hoćeš da Heading 1 stil iz DOCX-a postane <h2> u HTML-u:

mammoth --style-map="heading1 => h2" input.docx > output.html

Ako koristiš Python, možeš uraditi isto ovako:

with open("input.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file, style_map="heading1 => h2")
    print(result.value)

2. Ignorisanje slika

Mammoth ne konvertuje slike automatski, ali možeš ih obraditi ručno u Pythonu:

with open("input.docx", "rb") as docx_file:
    result = mammoth.convert_to_html(docx_file, convert_image=mammoth.images.img_element)
    print(result.value)

Ovo konvertuje slike u <img> HTML tagove.

3. Konverzija specijalnih elemenata

Ako želiš da DOCX bold tekst bude obeležen kao <strong> umesto <b>:

mammoth --style-map="b => strong" input.docx > output.html

Zaključak

Mammoth je odličan alat kada ti treba čista konverzija DOCX u HTML/Markdown bez nepotrebnih stilova. Idealan je za automatsko prebacivanje dokumenata u web formate i može se koristiti kroz CLI ili kao Python/Node.js biblioteka.

By Abel

Leave a Reply

Your email address will not be published. Required fields are marked *