|
@@ -51,21 +51,25 @@ class PDFGenerator:
|
|
|
|
|
|
# extends pymdownx extension to convert markdown to html.
|
|
|
# - https://facelessuser.github.io/pymdown-extensions/usage_notes/
|
|
|
- html_content = markdown(content, extensions=["pymdownx.extra"])
|
|
|
+ # html_content = markdown(content, extensions=["pymdownx.extra"])
|
|
|
|
|
|
html_message = f"""
|
|
|
- <div> {date_str} </div>
|
|
|
- <div class="message">
|
|
|
+ <div>
|
|
|
<div>
|
|
|
- <h2>
|
|
|
+ <h4>
|
|
|
<strong>{role.title()}</strong>
|
|
|
- <span style="font-size: 12px; color: #888;">{model}</span>
|
|
|
- </h2>
|
|
|
+ <span style="font-size: 12px;">{model}</span>
|
|
|
+ </h4>
|
|
|
+ <div> {date_str} </div>
|
|
|
</div>
|
|
|
- <pre class="markdown-section">
|
|
|
+ <br/>
|
|
|
+ <br/>
|
|
|
+
|
|
|
+ <div>
|
|
|
{content}
|
|
|
- </pre>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <br/>
|
|
|
"""
|
|
|
return html_message
|
|
|
|
|
@@ -74,18 +78,15 @@ class PDFGenerator:
|
|
|
return f"""
|
|
|
<html>
|
|
|
<head>
|
|
|
- <meta charset="UTF-8">
|
|
|
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
</head>
|
|
|
<body>
|
|
|
- <div class="container">
|
|
|
- <div class="text-center">
|
|
|
- <h1>{self.form_data.title}</h1>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- {self.messages_html}
|
|
|
- </div>
|
|
|
+ <div>
|
|
|
+ <div>
|
|
|
+ <h2>{self.form_data.title}</h2>
|
|
|
+ {self.messages_html}
|
|
|
</div>
|
|
|
+ </div>
|
|
|
</body>
|
|
|
</html>
|
|
|
"""
|
|
@@ -114,9 +115,12 @@ class PDFGenerator:
|
|
|
pdf.add_font("NotoSansKR", "", f"{FONTS_DIR}/NotoSansKR-Regular.ttf")
|
|
|
pdf.add_font("NotoSansJP", "", f"{FONTS_DIR}/NotoSansJP-Regular.ttf")
|
|
|
pdf.add_font("NotoSansSC", "", f"{FONTS_DIR}/NotoSansSC-Regular.ttf")
|
|
|
+ pdf.add_font("Twemoji", "", f"{FONTS_DIR}/Twemoji.ttf")
|
|
|
|
|
|
pdf.set_font("NotoSans", size=12)
|
|
|
- pdf.set_fallback_fonts(["NotoSansKR", "NotoSansJP", "NotoSansSC"])
|
|
|
+ pdf.set_fallback_fonts(
|
|
|
+ ["NotoSansKR", "NotoSansJP", "NotoSansSC", "Twemoji"]
|
|
|
+ )
|
|
|
|
|
|
pdf.set_auto_page_break(auto=True, margin=15)
|
|
|
|