← Back to Skills
Exec

pandic-office

piyushduggal-source By piyushduggal-source 👁 14 views ▲ 0 votes

Converts Markdown files to PDF files using the pandoc

GitHub
---
name: local-pandoc
description: Converts Markdown files to PDF files using the pandoc command-line utility. Use when a user asks to convert a .md or markdown file to a .pdf file.
---

# Local Pandoc Conversion Skill

This skill uses the `pandoc` command-line utility to convert documents between numerous markup formats.

## Basic Usage

The fundamental structure of a `pandoc` command is:

```bash
pandoc [options] [input-file]…
```

### Simple Conversion

To convert a Markdown file to HTML:

```bash
pandoc -o output.html input.md
```

### Specifying Formats

While `pandoc` can infer formats from file extensions, you can be explicit with the `-f` (from) and `-t` (to) flags.

```bash
# Convert HTML to Markdown
pandoc -f html -t markdown input.html
```

### Standalone Documents

To create a complete document with a proper header and footer (e.g., a full HTML file), use the `-s` or `--standalone` flag.

```bash
pandoc -s -o output.html input.md
```

## Advanced Examples

The following examples are extracted from the official Pandoc User's Guide.

### PDF Output

To create a PDF, `pandoc` typically uses a LaTeX engine. Ensure one is installed.

```bash
# Basic PDF creation
pandoc input.md -o output.pdf

# Control PDF engine and style via variables
pandoc input.md -o output.pdf --pdf-engine=xelatex -V geometry:margin=1in -V fontsize=12pt
```

### Document Structure & Metadata

Pandoc can automatically generate a table of contents and use document metadata.

```bash
# Create a document with a Table of Contents (up to level 3 headings)
pandoc --toc --toc-depth=3 -o output.docx input.md

# Set metadata fields from the command line
pandoc -M title:"My Report" -M author:"Galactus" -o output.pdf input.md
```

### Templates and Styling

You can control the final output's structure and style with templates and other options.

```bash
# Use a custom template for HTML output
pandoc -s --template=my-template.html -o output.html input.md

# For HTML output, link to a custom CSS file
pandoc -s --css=styles.css -o output.html input.md

# For DOCX output, use a reference document for styling
pandoc --reference-doc=reference.docx -o output.docx input.md
```

### Reading from the Web

Pandoc can directly fetch and convert content from a URL.

```bash
pandoc -f html -t markdown https://www.fsf.org
```

### Other Useful Options

```bash
# Preserve tabs instead of converting them to spaces
pandoc --preserve-tabs ...

# Control line wrapping in the output source code
pandoc --wrap=none ...

# Shift heading levels (e.g., make all H1s into H2s, H2s into H3s)
pandoc --shift-heading-level-by=1 ...
```
This enhanced documentation provides a more robust foundation for using `pandoc`.
exec

Comments

Sign in to leave a comment

Loading comments...