ScreenshotNeo

BlogHTML to image & PDF

How to Convert PDF Pages to JPG Images in Bulk

Convert every PDF page into numbered JPG files using Acrobat, ImageMagick, Ghostscript, or automation scripts—with settings, troubleshooting, and batching tips.

By the ScreenshotNeo team1 October 20267 min read

To convert all PDF pages to separate JPG files in bulk, use Adobe Acrobat for a graphical workflow, ImageMagick or Ghostscript for local command-line automation, or Adobe PDF Services when you need a hosted API. Each method creates one JPG per page; use numbered filenames so the original order is preserved.

Choose the right bulk conversion method

Method Best for Privacy Automation Output
Adobe Acrobat desktop Occasional conversions and visual settings Local Low Separate JPGs
Adobe online converter One-off conversions without installing software Uploaded to Adobe Low Downloadable JPG output
ImageMagick Scripts, folders, and repeatable jobs Local High Numbered JPGs
Ghostscript Fast PDF rendering from a shell Local High One JPG per page
Adobe PDF Services Production applications and API workflows Hosted API High ZIP containing one image per page

1. Convert every page with Adobe Acrobat

  1. Open the PDF in Acrobat.
  2. Choose Convert or Export a PDF.
  3. Select Image, then JPEG.
  4. Choose an output folder and save.

Acrobat saves all pages in the selected image format unless Export All Images is selected; that option exports embedded images instead of rendering each page. See Adobe’s PDF-to-JPG instructions.

For a browser workflow, Adobe’s online converter accepts a PDF, lets you select JPG, and provides downloadable output. Use it only when your document-handling policy permits uploading the file.

Acrobat settings that affect the result

  • Resolution: Use a lower resolution for previews and web uploads; use a higher value when small text must remain readable.
  • Color: Keep color for screenshots and presentations; choose grayscale only when color is unnecessary.
  • Quality: Higher JPEG quality improves text edges but increases file size.
  • Page range: Export only the pages you need when the document is large.

2. Convert a PDF folder with ImageMagick

ImageMagick can render PDF pages through its PDF delegate and write sequential filenames such as image-0.jpg. A basic command is:

magick -density 150 input.pdf -background white -alpha remove -alpha off -quality 85 image-%03d.jpg

-density controls rendering resolution, -quality controls JPEG compression, and %03d creates names such as image-000.jpg. ImageMagick documents sequential output and command-line processing in its command-line documentation.

Batch every PDF in a directory

mkdir -p converted
for pdf in ./pdfs/*.pdf; do
  name=$(basename "$pdf" .pdf)
  magick -density 150 "$pdf" -background white -alpha remove -alpha off -quality 85 "converted/${name}-%03d.jpg"
done

This keeps each document’s pages together: report-000.jpg, report-001.jpg, and so on. Keep the original PDFs because JPG is lossy.

Render selected pages

magick -density 200 input.pdf[0-4] -quality 90 page-%03d.jpg

Page indexes are usually zero-based in ImageMagick, so [0-4] requests the first five pages. Confirm the behavior with your installed version before processing a large collection.

3. Convert with Ghostscript

Ghostscript renders each page directly to JPEG:

gs -sDEVICE=jpeg -r150 -dJPEGQ=85 -o out-%03d.jpg -dBATCH -dNOPAUSE input.pdf

The documented pattern uses -sDEVICE=jpeg, an output template such as out-%d.jpg, and -dBATCH -dNOPAUSE for non-interactive processing. See the Ghostscript usage documentation.

Batch a directory with a shell script

#!/usr/bin/env bash
set -u
mkdir -p converted logs
for pdf in ./pdfs/*.pdf; do
  base=$(basename "$pdf" .pdf)
  if gs -sDEVICE=jpeg -r150 -dJPEGQ=85 \
       -o "converted/${base}-%03d.jpg" \
       -dBATCH -dNOPAUSE "$pdf" \
       >"logs/${base}.log" 2>&1; then
    echo "ok: $pdf"
  else
    echo "failed: $pdf" >&2
  fi
done

4. Automate conversion with Adobe PDF Services

Adobe PDF Services provides an export operation for converting PDF pages to JPEG. Its result can be a ZIP containing one image per source page, which is convenient for applications that need a single downloadable artifact. Adobe provides examples for Java, .NET, Node.js, Python, and REST in its Export PDF documentation.

Use the API when your application already has authentication, object storage, job tracking, and a policy that allows documents to be processed by a hosted service. Store the returned ZIP, verify that the page count matches the input, then extract files using stable names.

5. Make filenames, resolution, and quality predictable

  • Stable names: Prefer document-001.jpg over names generated from timestamps.
  • Resolution: Around 150 DPI is often adequate for screen display; increase it when fine print or OCR matters. Validate with representative pages because PDFs can contain mixed-size pages.
  • JPEG quality: Values around 80–90 are a practical starting point. Inspect text edges and file sizes before selecting a lower value.
  • Color and transparency: PDFs do not always have a transparent page background. Set a white background explicitly when output will be displayed on unknown backgrounds.
  • Rotation and cropping: Check portrait, landscape, rotated pages, bleed, and crop boxes in a sample of output.
  • Archival fidelity: Keep the PDF. JPEG introduces lossy compression; PNG or TIFF may be more appropriate when exact pixel preservation is required.

6. Verify a bulk conversion

  1. Count the PDF pages with your PDF viewer or a page-counting tool.
  2. Count generated JPG files and compare the numbers.
  3. Open the first, middle, and last page.
  4. Check orientation, clipping, margins, text readability, and color.
  5. Record failed files and rerun only those files.
# Example checks on macOS/Linux
pdfinfo input.pdf | grep Pages
find converted -name 'input-*.jpg' | wc -l
identify converted/input-*.jpg | head

7. Troubleshooting common errors

Symptom Likely cause Fix
“No decode delegate” or PDF security error ImageMagick lacks a PDF delegate or its policy blocks PDF Install Ghostscript, use Ghostscript directly, or update the ImageMagick policy only when your security policy allows it.
Blank or partially rendered pages Unsupported PDF features, missing fonts, or a failed delegate Try Ghostscript, install required fonts, and test the source PDF in a viewer.
Output is too large High DPI or JPEG quality Lower density or quality, resize after rendering, and compare text readability.
Text is blurry Resolution is too low or compression is too aggressive Increase DPI and quality; preserve the PDF for zoomable access.
Pages are rotated or clipped Media box, crop box, or orientation metadata differs by page Inspect page boxes, render a sample, and apply rotation or cropping only after confirming the intended layout.
Files overwrite each other Output template lacks a page counter or two jobs share a folder Include %03d and a document-specific directory or prefix.
Batch job stops midway Shell glob, malformed filename, or one corrupt PDF Quote paths, log per-file status, continue after failures, and retry the failed inputs separately.
Online upload is rejected File-size, page-count, or policy restriction Use local tools or an API approved for the document; split the PDF only when that preserves your workflow.

8. Performance, reliability, and cost

Rendering time and disk usage grow with page count, DPI, page dimensions, and image complexity. For large folders, process files one at a time or use a bounded worker pool so several high-resolution PDFs do not exhaust memory. Write logs, preserve exit codes, and make retries idempotent by writing to a temporary directory before renaming successful output.

Local ImageMagick and Ghostscript avoid per-document upload fees but require installation, patching, fonts, and capacity planning. Acrobat is convenient for manual jobs. A hosted API can simplify deployment but adds network transfer, authentication, service limits, and document-policy considerations. JPEG output itself has no universal fixed cost; your cost depends on the software or service and the compute or storage it consumes.

Or skip the browser setup

If your source is a web page that you need as an image or PDF, ScreenshotNeo provides a single HTTP request instead of maintaining browser automation. It is not a replacement for rendering an existing local PDF into JPG pages; use the local or PDF API methods above for that job.

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and whether the request was billed. It also provides an MCP server for AI agents, including Claude and Cursor, with take_screenshot, get_page_info, and capture_pdf tools.

See the ScreenshotNeo API documentation for all options. A basic request is:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Every plan includes the features: full-page capture, element selection, custom CSS and JavaScript, waits, blocking rules, headers and cookies, device and viewport controls, PDFs, caching, signed links, asynchronous jobs, bulk capture, and a usage API. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

FAQ

Can I create one very tall JPG containing every page?

The documented Acrobat, ImageMagick, Ghostscript, and PDF Services workflows create one image per page. Stitch pages afterward only when your destination specifically requires a single canvas.

Should I use JPG or PNG?

JPG is usually smaller for photographic or full-color pages. PNG avoids lossy compression and is often better for diagrams, text-heavy pages, or transparency.

How do I preserve page order?

Use a zero-padded page counter such as %03d and sort filenames lexically.

Is local conversion safer for confidential documents?

Local Acrobat, ImageMagick, and Ghostscript keep processing on your machine. Hosted converters require you to evaluate upload, retention, and access policies first.

Why are some pages a different size?

A PDF can contain mixed page dimensions or crop boxes. Render a sample and decide whether to preserve each page’s dimensions or normalize them in a post-processing step.