Pandoc – univerzalni konvertor dokumenata

Pandoc je moćan alat za konverziju dokumenata između različitih formata. Podržava PDF, DOCX, HTML, Markdown, EPUB, LaTeX i mnoge druge. Koristi se u akademskom pisanju, prevođenju, generisanju dokumentacije i automatizaciji rada s tekstom.


1. Instalacija Pandoc-a na Linuxu

Na Ubuntu/Debian:

sudo apt install pandoc

Na Arch Linuxu:

sudo pacman -S pandoc

Na Fedora/OpenSUSE:

sudo dnf install pandoc

Proveri instalaciju:

pandoc --version

2. Osnovna sintaksa

Format:

pandoc input.ext -o output.ext

Primer – konverzija Markdown u PDF:

pandoc document.md -o document.pdf

Konverzija DOCX u Markdown:

pandoc document.docx -o document.md

3. Podržani formati

Ulazni formati:

  • Markdown (.md)
  • LaTeX (.tex)
  • HTML (.html)
  • DOCX (.docx)
  • ODT (.odt)
  • EPUB (.epub)
  • JSON (.json)
  • RST (.rst – reStructuredText)

Izlazni formati:

  • PDF (.pdf)
  • DOCX (.docx)
  • HTML (.html)
  • LaTeX (.tex)
  • EPUB (.epub)
  • ODT (.odt)
  • RTF (.rtf)
  • TXT (.txt)
  • PPTX (.pptx)

4. Napredne opcije i primeri

4.1 Konverzija Markdown u PDF sa stilizacijom

pandoc document.md -o document.pdf --pdf-engine=xelatex

Koristi xelatex ili lualatex za bolju podršku fontova.

4.2 Konverzija Word dokumenta u HTML

pandoc document.docx -o document.html --standalone

Opcija --standalone (-s) dodaje HTML header i body.

4.3 Konverzija PDF u Word dokument

pdftotext document.pdf - | pandoc -f markdown -o document.docx

(Ovo koristi pdftotext jer Pandoc ne može direktno konvertovati PDF.)

4.4 Generisanje e-knjige (EPUB)

pandoc book.md -o book.epub --metadata title="Moja knjiga" --metadata author="Autor"

4.5 Konverzija LaTeX u PDF

pandoc document.tex -o document.pdf --pdf-engine=pdflatex

4.6 Dodavanje naslovne strane u PDF

pandoc title.md document.md -o document.pdf --pdf-engine=xelatex

title.md sadrži metapodatke (naslov, autor, datum).


5. Rad sa šablonima i stilovima

5.1 Korišćenje vlastitog CSS-a za HTML

pandoc document.md -o document.html --css=style.css

5.2 Korišćenje prilagođenog LaTeX šablona

pandoc document.md -o document.pdf --template=mytemplate.tex

5.3 Konverzija uz prilagođene fontove (PDF)

pandoc document.md -o document.pdf --pdf-engine=xelatex -V mainfont="Times New Roman"

6. Metapodaci i automatska numeracija

6.1 Automatska numeracija sekcija

pandoc document.md -o document.pdf --number-sections

6.2 Dodavanje naslova i autora u izlazni dokument

pandoc document.md -o document.pdf --metadata title="Naslov" --metadata author="Autor"

7. Spajanje više fajlova u jedan

pandoc chapter1.md chapter2.md chapter3.md -o book.pdf --pdf-engine=xelatex

Ili pomoću liste fajlova:

pandoc $(cat filelist.txt) -o book.pdf

Gde filelist.txt sadrži:

chapter1.md
chapter2.md
chapter3.md

8. Umetanje slika, tabela i referenci

8.1 Dodavanje slike u Markdown

![Alt tekst](slika.png)

Konvertuj u PDF:

pandoc document.md -o document.pdf --pdf-engine=xelatex

8.2 Dodavanje tabele

| Ime  | Prezime | Godine |
|------|--------|--------|
| Ana  | Jovanović | 30 |
| Marko | Petrović | 25 |

8.3 Citiranje izvora i bibliografija

Koristi references.bib:

pandoc document.md --bibliography=references.bib -o document.pdf

9. Automatizacija pomoću Bash skripti

Ako često koristiš Pandoc, možeš napraviti Bash skriptu:

#!/bin/bash
for file in *.md; do
  pandoc "$file" -o "${file%.md}.pdf" --pdf-engine=xelatex
done

Sačuvaj kao convert.sh, zatim:

chmod +x convert.sh
./convert.sh

10. Integracija sa Python-om

Možeš koristiti Pandoc iz Python skripte:

import subprocess

def convert_md_to_pdf(md_file, pdf_file):
    subprocess.run(["pandoc", md_file, "-o", pdf_file, "--pdf-engine=xelatex"])

convert_md_to_pdf("document.md", "document.pdf")

Zaključak

Prednosti Pandoc-a

  • Podržava ogroman broj formata
  • Moćan za akademsko pisanje i dokumentaciju
  • Laka integracija sa LaTeX-om
  • Automatska konverzija referenci

Nedostaci

  • Nije najbolji za složene DOCX → PDF konverzije
  • Nekad zahteva dodatne alate (npr. pdflatex, xelatex)

By Abel

Leave a Reply

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