"""
将当前目录下的所有md文件合并成一个pdf文件
"""
import os
import markdown
from weasyprint import HTML, CSS
# 获取当前目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 获取所有md文件并按文件名排序
md_files = sorted([f for f in os.listdir(current_dir) if f.endswith('.md')])
print(f"找到 {len(md_files)} 个md文件:")
for f in md_files:
print(f" - {f}")
# 合并所有md文件内容
combined_html = """
小说合集
"""
for md_file in md_files:
file_path = os.path.join(current_dir, md_file)
# 读取md文件
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 转换为html
md = markdown.Markdown(extensions=['tables', 'fenced_code'])
html_content = md.convert(content)
# 添加章节标题
chapter_title = md_file.replace('.md', '')
combined_html += f'{chapter_title}
\n'
combined_html += html_content + '\n'
combined_html += ''
# 输出pdf文件
output_pdf = os.path.join(current_dir, '小说合集.pdf')
HTML(string=combined_html).write_pdf(output_pdf)
print(f"\nPDF已生成: {output_pdf}")