import os
import re
import fitz
from markdown_pdf import MarkdownPdf, Section
docs_dir = r"c:/Users/lanfr144/Documents/DOPRO1/Antigravity/Food/docs"
md_file = os.path.join(docs_dir, "Installation_Guide.md")
with open(md_file, "r", encoding="utf-8") as f:
md_content = f.read()
# Clean paths
root_dir = r"c:/Users/lanfr144/Documents/DOPRO1/Antigravity/Food"
md_content = md_content.replace("file:///" + root_dir + "/docs/", "")
md_content = md_content.replace("file:///" + root_dir + "/", "../")
# Try WITH
replacement
md_content_br = re.sub(r'(```[a-zA-Z0-9_-]*\n[\s\S]*?\n```)', r'\1\n
', md_content)
user_css = """
* {
color: #1a1a1a !important;
}
body {
font-family: 'Helvetica', 'Arial', sans-serif !important;
color: #1a1a1a !important;
background-color: #ffffff !important;
}
h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
color: #000000 !important;
margin-top: 18px !important;
margin-bottom: 8px !important;
}
pre {
background-color: #f8f9fa !important;
border: 1px solid #e9ecef !important;
padding: 2px !important;
margin-top: 8px !important;
margin-bottom: 16px !important;
border-radius: 3px !important;
font-family: 'Courier New', 'Courier', monospace !important;
font-size: 10pt !important;
white-space: pre-wrap !important;
word-break: break-all !important;
}
pre code, pre * {
font-family: 'Courier New', 'Courier', monospace !important;
font-size: 10pt !important;
color: #212529 !important;
background-color: #f8f9fa !important;
white-space: pre-wrap !important;
word-break: break-all !important;
}
code {
font-family: 'Courier New', 'Courier', monospace !important;
font-size: 10pt !important;
color: #b02a37 !important;
background-color: #f8f9fa !important;
padding: 2px 4px !important;
border-radius: 3px !important;
white-space: pre-wrap !important;
word-break: break-all !important;
}
a, a * {
color: #0d6efd !important;
}
blockquote, blockquote * {
color: #555555 !important;
border-left: 4px solid #ccc !important;
padding-left: 10px !important;
}
table, tr, td, th, table * {
color: #1a1a1a !important;
border-color: #cccccc !important;
}
th {
background-color: #f2f2f2 !important;
}
ul, li {
list-style-type: disc !important;
}
"""
print("--- TESTING WITH
---")
pdf_br = MarkdownPdf()
pdf_br.add_section(Section(md_content_br, paper_size="A4", root=docs_dir), user_css=user_css)
doc_br = pdf_br._make_doc()
print(f"Total pages: {len(doc_br)}")
print(f"Page 2 blocks count: {len(doc_br[1].get_text('blocks'))}")
doc_br.close()
print("\n--- TESTING WITH \\n\\n ---")
# Try with \n\n instead
md_content_nn = re.sub(r'(```[a-zA-Z0-9_-]*\n[\s\S]*?\n```)', r'\1\n\n', md_content)
pdf_nn = MarkdownPdf()
pdf_nn.add_section(Section(md_content_nn, paper_size="A4", root=docs_dir), user_css=user_css)
doc_nn = pdf_nn._make_doc()
print(f"Total pages: {len(doc_nn)}")
print(f"Page 2 blocks count: {len(doc_nn[1].get_text('blocks'))}")
doc_nn.close()