import markdown from weasyprint import HTML, CSS import sys import re from datetime import datetime def extract_date(markdown_text): # Försök att hitta ett datum i formatet "Datum: YYYY-MM-DD" match = re.search(r'\*\*Datum\*\*:\s*(\d{4}-\d{2}-\d{2})', markdown_text) return match.group(1) if match else datetime.now().strftime('%Y-%m-%d') def markdown_to_pdf(input_file, output_file): # Läs markdown från fil with open(input_file, 'r', encoding='utf-8') as file: markdown_text = file.read() # Extrahera datumet date = extract_date(markdown_text) # Konvertera markdown till HTML html_text = markdown.markdown(markdown_text, extensions=['tables']) # HTML-mall med anpassad teckenstorlek html_template = f"""
{f'DATUM: {date}' if date else ""}
Eskilstuna Kommunfastigheter AB
{html_text} """ # Generera PDF html = HTML(string=html_template) html.write_pdf(output_file) print(f"PDF-filen {output_file} har skapats.") if __name__ == "__main__": if len(sys.argv) != 3: print("Användning: python script.py input.md output.pdf") else: input_filepath = sys.argv[1] output_filepath = sys.argv[2] markdown_to_pdf(input_filepath, output_filepath)