PDF Creator
Create professional PDF documents from markdown with proper Chinese font support.
Quick Start
Convert a single markdown file:
cd /Users/tiansheng/Workspace/python/claude-code-skills/pdf-creator
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 ARM (Homebrew) 的 DYLD_LIBRARY_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