yrom/arxiv-paper-translator

convert-pdf-to-png

Use when needing to convert PDF pages to PNG images for preview, comparison, or image processing.

First seen Feb 11, 2026

Installation

$ npx skills add yrom/arxiv-paper-translator --skill convert-pdf-to-png

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from yrom/arxiv-paper-translator.

npx skills add yrom/arxiv-paper-translator

Browse all from yrom/arxiv-paper-translator

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 48
License LICENSE
Default branch main
Open issues 3
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,098 B
  • docs SUMMARY.md 123 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 86 installs

SKILL.md

Convert PDF to PNG

Convert PDF file pages to PNG images.

Backend Selection

Try system tools first (better rendering for complex PDFs), fall back to the JS script.

Backends you can try:

  1. magick (ImageMagick) - Linux/MacOS
  2. mutool (MuPDF) - Linux/MacOS
  3. pdftoppm (Poppler) - Linux/MacOS
  4. sips (Scriptable Image Processing System) - MacOS Only
  5. JS fallback (pdfjs) - under <CURRENTSKILLDIR>/scripts/ directory.

NOTICE: All backends should output <pdf-name>page<N>.png in the target directory.

System Backend Examples

# magick (ImageMagick) — density 144 ≈ scale 2x (72 * 2)
magick -density 144 paper.pdf -quality 90 paper_page_%d.png
# Note: magick outputs 0-based index; rename if 1-based is needed

# mutool (MuPDF) — resolution 144 ≈ scale 2x
mutool convert -o paper_page_%d.png -O resolution=144 paper.pdf

# pdftoppm (Poppler) — -r sets DPI
pdftoppm -png -r 144 paper.pdf paper_page
# Outputs paper_page-1.png, paper_page-2.png, etc.

# sips (macOS only) — convert a single-page PDF
sips -s format png paper.pdf --out paper_page_1.png

Different backends produce slightly different filename patterns (0-based vs 1-based, padding, separator).
Rename after conversion if the downstream consumer requires strict <pdf-name>page<N>.png format.

JS Script Prerequisites

Dependencies are in <CURRENTSKILLDIR>/scripts/package.json. Install on first use:

cd skills/convert-pdf-to-png/scripts && bun install 
# or npm install

JS Script Quick Start

SCRIPT_DIR=skills/convert-pdf-to-png/scripts

# Convert all pages (default scale: 2.0x)
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf

# Specify output directory
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf --output-dir ./output

# Convert specific pages with higher resolution
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf --pages 1,3,5 --scale 3

# Encrypted PDF
bun $SCRIPT_DIR/convert-pdf-to-png.mjs protected.pdf --password "secret"

JS Script CLI Options

Option Default Description
--output-dir <dir> Same as PDF Output directory for PNG files
--scale <number> 2.0 Viewport scale factor (higher = better quality, larger files)
--pages <list> all Comma-separated 1-based page numbers
--password <string> - Password for encrypted PDF

Output

Filenames follow the pattern: <pdf-name>page<N>.png

Common Issues

Issue Solution
Complex figures render as blank (pdfjs) Use magick (ImageMagick) or mutool (MuPDF) instead
Cannot find module 'pdf-to-png-converter' cd skills/convert-pdf-to-png/scripts && bun install
Poor text quality Increase --scale / DPI (try 3.0 / 216)
Large PDF causes OOM Convert specific pages with --pages instead of all
Encrypted PDF fails Provide --password (JS) or -p (mutool) / -upw (pdftoppm)