skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
yrom/arxiv-paper-translator93 installs

convert-pdf-to-png

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

How do I install this agent skill?

npx skills add https://github.com/yrom/arxiv-paper-translator --skill convert-pdf-to-png
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides capabilities to convert PDF files into PNG images using standard system utilities or a local Node.js script. It operates within expected security boundaries, though like all file-processing tools, it presents a surface for potential indirect prompt injection from malicious document content.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerpass

    4 files scanned · No issues

  • ZeroLeakspass

    Score: 93/100 · 2 sections analyzed

What does this agent skill do?

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 <CURRENT_SKILL_DIR>/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 <CURRENT_SKILL_DIR>/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

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

Output

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

Common Issues

IssueSolution
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 qualityIncrease --scale / DPI (try 3.0 / 216)
Large PDF causes OOMConvert specific pages with --pages instead of all
Encrypted PDF failsProvide --password (JS) or -p (mutool) / -upw (pdftoppm)

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/yrom/arxiv-paper-translator/convert-pdf-to-png">View convert-pdf-to-png on skillZs</a>