""" Használati útmutató / Usage: 1. Telepítés / Installation: pip install markdown-pdf 2. Futtatás / Execution: - Aktuális könyvtár bejárása: python Scripts/python/md_to_pdf_recursive.py - Konkrét könyvtár megadása: python Scripts/python/md_to_pdf_recursive.py Dev/APS-SFTP01 A script rekurzívan végigjárja a megadott könyvtárat, és minden .md fájl mellé létrehoz egy azonos nevű .pdf fájlt. A .git, .venv és __pycache__ könyvtárakat kihagyja. """ import os import sys from markdown_pdf import Section, MarkdownPdf def convert_md_to_pdf(root_dir): """ Rekurzívan végigjárja a megadott könyvtárat és minden .md fájlból PDF-et készít. """ print(f"Keresés indítása a következő könyvtárban: {root_dir}") # Kizárandó könyvtárak (pl. git, virtuális környezet) exclude_dirs = {'.git', '.venv', '__pycache__', 'node_modules'} count = 0 for root, dirs, files in os.walk(root_dir): # Alkönyvtárak szűrése (helyben módosítva a dirs listát) dirs[:] = [d for d in dirs if d not in exclude_dirs] for file in files: if file.endswith(".md"): md_path = os.path.join(root, file) pdf_path = os.path.splitext(md_path)[0] + ".pdf" print(f"Konvertálás: {md_path} -> {pdf_path}") try: # Markdown olvasása with open(md_path, "r", encoding="utf-8") as f: md_content = f.read() # PDF generálása pdf = MarkdownPdf(toc_level=2) pdf.add_section(Section(md_content, toc=False)) pdf.save(pdf_path) count += 1 except Exception as e: print(f"Hiba a fájl feldolgozása közben ({md_path}): {e}") print(f"\nKész! Összesen {count} fájl lett konvertálva.") if __name__ == "__main__": # Ha nincs megadva útvonal, az aktuális könyvtárat használja target_path = sys.argv[1] if len(sys.argv) > 1 else "." # Ellenőrizzük a függőséget try: import markdown_pdf except ImportError: print("Hiba: A 'markdown-pdf' könyvtár nincs telepítve.") print("Telepítés: pip install markdown-pdf") sys.exit(1) convert_md_to_pdf(target_path)