Exec
pandic-office
Converts Markdown files to PDF files using the pandoc
---
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
By
Comments
Sign in to leave a comment