Install
openclaw skills install zl-md-to-pdfUse when converting markdown files to PDF with styling, code highlighting, and CJK support
openclaw skills install zl-md-to-pdfConverts markdown files to styled PDF documents using Node.js, marked, and puppeteer-core. Supports Chinese/CJK text, code syntax highlighting, tables, and images.
.md file to PDF# Convert a markdown file to PDF
node convert.js input.md
# Specify output file
node convert.js input.md output.pdf
# Without page numbers
node convert.js input.md --no-page-numbers
First-time setup in the target project directory:
mkdir -p .md-to-pdf-tool && cd .md-to-pdf-tool
npm init -y
npm install marked@4.3.0 puppeteer-core@19.11.1
Then copy the convert.js script from this skill's directory.
| Feature | Support |
|---|---|
| Headings (H1-H6) | Styled with hierarchy |
| Code blocks | Syntax highlighting via highlight.js |
| Tables | Bordered with zebra striping |
| Lists | Bulleted and numbered |
| Images | Embedded (relative paths resolved) |
| Links | Clickable in PDF |
| CJK/Chinese | Full support |
| Page numbers | Bottom center by default |
Edit the CSS in convert.js to customize:
font-family in body stylecolor and background values--marginTop, --marginBottom, etc. in optionspre and code background colors| Issue | Solution |
|---|---|
| Browser not found | Set CHROME_PATH or EDGE_PATH environment variable |
| Permission denied | Use Edge instead of Chrome, or run with elevated permissions |
| ESM module errors | Use marked@4.3.0 and puppeteer-core@19.11.1 (CommonJS compatible) |
| Large file timeout | Increase timeout in page.setContent() options |
The conversion script uses:
See convert.js in this skill directory for the complete implementation.