Convert Markdown files to PDF or PNG with customizable professional themes and colored emoji support via CLI or API.
A professional OpenClaw skill for converting Markdown documents to PDF and PNG with colored emoji support.
PropertyValueNamemarkdown2pdfVersion1.0.0AuthorPocketAI for LeoLicenseMITCategoryDocument ConversionRepositoryGitHub
bash
cd ~/.openclaw/workspace/skills/markdown2pdf
pip3 install markdown pdfkit imgkit
brew install wkhtmltopdf # macOS
# or
sudo apt-get install wkhtmltopdf # Ubuntu
bash
# Convert to PDF
python3 src/converter.py input.md -f pdf
# Use theme
python3 src/converter.py README.md -t github -f pdf
# List themes
python3 src/converter.py --list-themes
ThemeDescriptionBest FordefaultModern clean designGeneral documentsdarkDark themePresentations, night readinggithubGitHub-styleTechnical docs, READMEminimalMinimalist designElegant documentsprofessionalBusiness styleReports, business docs
Automatically converts emoji to colored text labels for PDF compatibility:
EmojiConvertedColorMeaning📊[数据]🔵 BlueData📈[趋势↑]🟢 GreenGrowth📉[趋势↓]🔴 RedDecline✅[√]🟢 GreenSuccess❌[×]🔴 RedError⚠️[!]🟠 OrangeWarning🚀[启动]🔴 RedLaunch⭐★🟡 GoldStar
python
from src.converter import convert_markdown_to_pdf, MarkdownConverter
# Simple conversion
pdf_path = convert_markdown_to_pdf(
markdown_text="# Hello World",
output_filename="hello.pdf",
theme="github"
)
# Advanced usage
converter = MarkdownConverter(
output_dir=Path("./output"),
theme="professional",
custom_css=".custom { color: red; }"
)
pdf_path = converter.convert_to_pdf(
markdown_text="# Document",
output_filename="doc.pdf",
page_size="A4",
margin="15mm"
)
SettingValueDescriptiondefault_themeprofessionalDefault theme for conversiondefault_formats["pdf"]Default output formatsdefault_width1200Default PNG width in pixelsdefault_page_sizeA4Default PDF page sizedefault_margin20mmDefault PDF marginemoji_supporttrueEnable emoji replacementcolored_emojitrueUse colored text labels
PackageVersionPurposemarkdown>=3.5.0Markdown processingpdfkit>=1.0.0PDF generationimgkit>=1.2.3Image generationwkhtmltopdf>=0.2.0HTML to PDF engine
text
markdown2pdf/
├── src/
│ ├── converter.py # Main converter
│ └── emoji_replacer.py # Emoji conversion utility
├── output/ # Output files
├── tests/
│ └── test_converter.py # Test suite
├── README.md # Documentation
├── SKILL.md # This file
└── requirements.txt # Dependencies
bash
# Run tests
pytest tests/
# Test conversion
python3 src/converter.py test_document.md -t github -f pdf
Initial Stable Release
bash
python3 src/converter.py stock_analysis.md -t professional -f pdf
bash
python3 src/converter.py README.md -t github -f pdf,png
bash
python3 src/converter.py presentation.md -t dark -f png --width 1920
bash
python3 src/converter.py business_report.md -t professional -f pdf
MIT License - See LICENSE file for details.
Happy Converting! 📄🎨
Last Updated: 2026-03-17
Version: 1.0.0
Author: PocketAI for Leo