# Md To PDF

> Convert Markdown to PDF via Pandoc with two rendering engines.

- Skill: `gabrielmoreira/md-to-pdf` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/md-to-pdf`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/md-to-pdf/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/gabrielmoreira/md-to-pdf

---


# md-to-pdf

Convert Markdown to PDF via Pandoc with two rendering engines.

## When to Use

- Reports, manuscripts, and printable documentation
- Documents needing high-fidelity typography (LaTeX engine)
- Faster turnaround drafts (HTML/wkhtmltopdf engine)

## What's Here

`md-to-pdf.cjs` — Node script that wraps Pandoc.

## External Dependencies

- `node` (≥ 16)
- `pandoc` (≥ 3.0) on PATH
- One of:
  - `lualatex` / TeX Live (high-quality typography, slower)
  - `wkhtmltopdf` (HTML route, faster, less precise)

## Usage

```bash
node md-to-pdf.cjs input.md
node md-to-pdf.cjs input.md --engine lualatex
node md-to-pdf.cjs input.md --engine wkhtmltopdf
node md-to-pdf.cjs input.md --output custom.pdf
```

The script auto-detects available engines if `--engine` is omitted, preferring `lualatex` when present.

## Frontmatter Hooks

YAML frontmatter is forwarded to Pandoc. Useful keys:

```yaml
---
title: My Document
author: Your Name
date: 2026-04-28
toc: true
geometry: margin=1in
---
```

## Notes

- Mermaid diagrams are pre-rendered to PNG and embedded
- Code blocks get syntax highlighting via Pandoc's `--highlight-style`
- Round-trip from `md-to-html` → `wkhtmltopdf` is roughly equivalent to the HTML engine

