PDF Creator
Create professional PDF documents from markdown with proper Chinese font support.
Quick Start
Convert a single markdown file:
uv run --with weasyprint --with markdown scripts/md_to_pdf.py input.md output.pdf
Batch convert multiple files:
uv run --with weasyprint --with markdown scripts/batch_convert.py *.md --output-dir ./pdfs
macOS Environment Setup
If encountering library errors, set these environment variables first:
export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH" export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH"
Font Configuration
The scripts use these Chinese fonts (with fallbacks):
Font Type Primary Fallbacks Body text Songti SC SimSun, STSong, Noto Serif CJK SC Headings Heiti SC SimHei, STHeiti, Noto Sans CJK SC Output Specifications Page size: A4 Margins: 2.5cm top/bottom, 2cm left/right Body font: 12pt, 1.8 line height Max file size: Designed to stay under 2MB for form submissions Common Use Cases Legal documents: Trademark filings, contracts, evidence lists Reports: Business reports, technical documentation Formal letters: Official correspondence requiring print format Troubleshooting
Problem: Chinese characters display as boxes Solution: Ensure Songti SC or other Chinese fonts are installed on the system
Problem: weasyprint import error Solution: Run with uv run --with weasyprint --with markdown to ensure dependencies