What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Render each PDF page at the size you need, then save one image file per page. For a one-off conversion, use Acrobat’s page-export workflow. For repeatable jobs, render pages with PDF.js (or use a documented PDF conversion API) and write each completed canvas to PNG or JPEG. This captures the entire page, including text, vector artwork and layout; it is different from extracting the original image objects embedded inside the PDF.
Choose the right kind of capture
A PDF can contain photographs, diagrams and scanned pages as separate image objects. Extracting those objects gives you the files stored inside the document, not a screenshot of the finished page. A page screenshot is a raster rendering of everything visible on that page. Use page rendering when you need a faithful visual record of the page layout, margins, text and graphics.
| Method | Best for | What you control | Important limitation |
|---|---|---|---|
| Acrobat export | A single document or occasional jobs | Image format and export settings offered by your Acrobat edition | Menu labels and available settings vary by release |
| PDF.js rendering | Scripts, web applications and repeatable batches | Viewport scale, pixel dimensions and file naming | You must manage canvas memory and file writing |
| Adobe PDF Services | Server-side automated conversion | API input and JPEG page-image output | Current account, SDK and service conditions must be checked in Adobe’s documentation |
Method 1: Export every page in Acrobat
Adobe’s Acrobat support procedure exports the pages of a PDF to an image format. The exact wording can differ between desktop versions and operating systems, so treat the labels below as a map rather than a guaranteed pixel-for-pixel menu path.
- Open the PDF in Acrobat.
- Choose the command for exporting or converting the PDF to an image format, then select the format you need. Acrobat’s documented procedure uses JPEG as an example.
- Choose the destination folder and confirm the export. Acrobat saves the pages as separate image files.
- Open several output files and check that page order, cropping and resolution meet your requirement before deleting the original PDF.
Do not select “Export All Images” for page screenshots
Acrobat distinguishes between saving pages and extracting images. The Export All Images option changes the operation to extracting image objects contained in the PDF. Leave that option off when the goal is one image of each complete page. Turn it on only when you specifically need the original photographs or diagrams embedded in the file.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
- QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
- VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
- INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
- EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
When the export result looks wrong
- If files show only photographs or logos, you extracted image objects rather than rendered pages.
- If small text is unreadable, use a higher-resolution export setting or switch to programmatic rendering where you can set a target pixel width.
- If a page is clipped, inspect the PDF’s page boxes and Acrobat’s export settings; the screenshot should follow the page boundary, not a hand-drawn crop.
Method 2: Render all pages with PDF.js
PDF.js renders a page into a canvas. Its viewport has a scale value that controls the output dimensions. A practical batch strategy is to calculate a scale from a target pixel width, render one page, write the image, release that canvas, and continue with the next page.
Node.js batch script
Install the PDF.js distribution and a Canvas implementation in a Node project:
npm install pdfjs-dist canvas
Save this as render-pdf.mjs. It accepts a local PDF path, renders every page to a 1,600-pixel target width, and writes numbered PNG files. Pass jpg as the third argument to produce JPEG files instead.
import fs from 'node:fs/promises';
import { createCanvas } from 'canvas';
import * as pdfjsLib from 'pdfjs-dist/legacy/build/pdf.mjs';
const [, , inputPath, format = 'png'] = process.argv;
if (!inputPath) {
console.error('Usage: node render-pdf.mjs input.pdf [png|jpg]');
process.exit(1);
}
if (!['png', 'jpg'].includes(format)) {
throw new Error('Format must be png or jpg');
}
const loadingTask = pdfjsLib.getDocument({
url: inputPath,
disableWorker: true
});
const pdf = await loadingTask.promise;
const targetWidth = 1600;
for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber += 1) {
const page = await pdf.getPage(pageNumber);
const baseViewport = page.getViewport({ scale: 1 });
const scale = targetWidth / baseViewport.width;
const viewport = page.getViewport({ scale });
const canvas = createCanvas(
Math.ceil(viewport.width),
Math.ceil(viewport.height)
);
const context = canvas.getContext('2d');
await page.render({ canvasContext: context, viewport }).promise;
const output = format === 'jpg'
? canvas.toBuffer('image/jpeg', { quality: 0.92 })
: canvas.toBuffer('image/png');
const extension = format === 'jpg' ? 'jpg' : 'png';
const filename = `page-${String(pageNumber).padStart(4, '0')}.${extension}`;
await fs.writeFile(filename, output);
console.log(`Wrote ${filename} (${Math.ceil(viewport.width)}x${Math.ceil(viewport.height)})`);
}
Run it with node render-pdf.mjs report.pdf, or node render-pdf.mjs report.pdf jpg. The loop waits for each page.render() promise before moving on, so one canvas is not reused while a render is still in progress.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsRank #2
- FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
- READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
- WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
- OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
Set dimensions deliberately
The script’s 1,600-pixel width is an example, not a universal standard. To target another width, change targetWidth. The page’s aspect ratio is preserved automatically. A larger width produces sharper text but increases processing time, output size and memory use; a smaller width is suitable for thumbnails or web previews.
Browser implementation pattern
In a browser application, the same PDF.js sequence is used: load the document, call pdf.getPage(pageNumber), create a viewport, size a canvas to the viewport, and await page.render({ canvasContext, viewport }).promise. Convert the completed canvas with canvas.toBlob() and download or upload the resulting file before rendering the next page. Worker configuration and bundling depend on how your application imports PDF.js.
Method 3: Automate conversion with Adobe PDF Services
Adobe’s PDF Services documentation describes an API conversion that returns JPEG images for PDF pages. Its example says a 15-page PDF produces 15 image files, with filenames indexed from page 1 through page 15 (the index is unpadded). This is useful when a server must process documents without a desktop application. Follow Adobe’s current setup and authentication instructions for your account and SDK version; those conditions can change.
Resolution, quality and memory
Pick a target based on the destination
- Web display: choose a width close to the largest CSS width at which the image will be shown. Oversized files waste bandwidth.
- Zoomable review: render wider pages or provide multiple resolutions.
- Print workflows: determine the required physical size and effective DPI with the print provider; do not assume that a screen-oriented export is print-ready.
PDF.js exposes scale through the viewport, so dimensions are predictable. Acrobat’s export dialog provides its own resolution controls, but the exact choices depend on the installed version.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #3
- FAST DOCUMENT SCANNING — Document scanner with feeder allows you to speed through stacks with a 50-sheet Auto Document Feeder (ADF); Efficient office scanner to help you scan more productively
- INTUITIVE, HIGH-SPEED SOFTWARE — Quickly scan with this desktop document scanner; Epson ScanSmart Software lets you easily preview scans, email files, upload to the cloud, and more; Plus, automatic file naming saves even more time
- SEAMLESS INTEGRATION — Easily incorporate your data into most document management software with the included TWAIN driver; Office document scanner integrates seamlessly with business workflows
- EASY SHARING — Duplex scanner allows you to scan straight to email or popular cloud storage2 services like Dropbox, Evernote, Google Drive, and OneDrive for simple storage and sharing
- SIMPLE FILE MANAGEMENT — Scanner allows the creation of searchable PDFs with Optical Character Recognition (OCR) and convert scans to editable Word or Excel files effortlessly; Designed for home and office document scanning
Plan for canvas memory
Each canvas stores pixels, commonly with four bytes per pixel before device-pixel scaling. The PDF.js FAQ gives an illustrative letter-page calculation of 816 × 1,056 pixels at 96 DPI—about 3.5 MB under that assumption. Actual memory varies with page size, scale, browser, pixel ratio and implementation. Do not retain hundreds of high-resolution canvases unless you truly need them. Render sequentially, write each image, then release references. PDF.js’s demo viewer follows the same principle by rendering only visible pages.
File naming and verification
Use zero-padded names such as page-0001.png when your batch can exceed nine pages; alphabetical sorting then matches page order. Keep the original PDF and record the renderer, target width, format and date in your job metadata if the images are evidence or production assets.
- Compare the first, middle and final pages with the PDF.
- Check pages containing transparency, rotated content, annotations or large tables.
- Confirm that the number of image files equals the PDF page count. Adobe’s API example explicitly illustrates 15 pages becoming 15 files.
- Open an output at 100 percent zoom to inspect small type and fine lines.
Troubleshooting
The script cannot load the PDF
Confirm the path is correct and that the process can read the file. For a remote document, download it first or pass PDF.js a supported URL with the required network and cross-origin permissions. A password-protected PDF also requires the appropriate password handling in the loading task.
“Cannot find module” or Canvas build errors
Install both pdfjs-dist and canvas in the same project, use a Node version supported by those packages, and follow the Canvas package’s platform-specific native-library instructions. If your deployment cannot compile native Canvas, use a browser PDF.js renderer or a PDF conversion service instead.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #4
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Pages are blank or partially rendered
Wait for the render promise before exporting the canvas. In a browser, verify that the PDF.js worker is configured for your bundler. For complex PDFs, test the file in a current PDF viewer; a malformed or encrypted document may require repair or credentials before rendering.
Text is fuzzy
Increase the target width or scale. Do not enlarge a finished low-resolution image and expect new detail; rerender the PDF at the required dimensions.
The process runs out of memory
Lower the target width, process pages sequentially, and write each result immediately. Avoid storing a list of canvases or image buffers for the entire document. Very large pages may need to be split into jobs.
The output contains only photos and logos
You used an image-extraction operation. Return to page export or PDF.js rendering to produce a screenshot of each complete page.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchBest Value
- OUR MOST ADVANCED SCANSNAP. Large touchscreen, fast 45ppm double-sided scanning, 100-sheet document feeder, Wi-Fi and USB connectivity, automatic optimizations, and support for cloud services. Upgraded replacement for the discontinued iX1600
- CUSTOMIZABLE. SHARABLE. Select personalized profiles from the touchscreen. Send to PC, Mac, mobile devices, and clouds. QUICK MENU lets you quickly scan-drag-drop to your favorite computer apps
- STABLE WIRELESS OR USB CONNECTION. Built-in Wi-Fi 6 for the fastest and most secure scanning. Connect to smart devices or cloud services without a computer. USB-C connection also available
- PHOTO AND DOCUMENT ORGANIZATION MADE EFFORTLESS. Easily manage, edit, and use scanned data from documents, receipts, photos, and business cards. Automatically optimize, name, and sort files
- AVOIDS PAPER JAMS AND DAMAGE. Features a brake roller system to feed paper smoothly, a multi-feed sensor that detects pages stuck together, and skew detection to prevent paper damage and data loss
Or skip the browser setup
ScreenshotNeo is a website screenshot API, so it is not a replacement for a local PDF renderer when you need to parse an arbitrary PDF file. It is useful when the material is already presented as web pages, or when your workflow also needs consistent screenshots of the HTML surrounding a document. A single GET request returns a PNG, JPEG, WebP or PDF; use the PDF-specific methods above when you need one image for every page in a local PDF.
See the ScreenshotNeo API documentation for current parameters. This cURL example captures a web URL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Before capture, ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and whether it was billed. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
| Plan | Included shots per month | Price |
|---|---|---|
| Free | 1,000 | $0, no card |
| Starter | 3,000 | $5 |
| Growth | 15,000 | $15 |
| Pro | 60,000 | $39 |
| Scale | 250,000 | $99 |
| Business | 1,000,000 | $249 |
Yearly billing gives two months free, and every feature is included on every plan. Start with 1,000 free screenshots a month with no card; paid plans start at $5 for 3,000 shots.
Recommended Free Tools
Frequently Asked Questions
Will a screenshot keep the PDF’s selectable text and links?
No. PNG, JPEG and WebP outputs are raster images. Keep the original PDF when readers need text selection, hyperlinks, accessibility structure or searchable content.
Should I choose PNG or JPEG?
PNG preserves crisp text and line art without lossy compression, while JPEG usually produces smaller files for photographic or scanned pages. Choose based on the page content and delivery size.
Can I create one image per page without installing Acrobat?
Yes. PDF.js can render pages in a browser or in a Node application, and an API such as Adobe PDF Services can automate page-image output on a server.
Why do page numbers in filenames sometimes sort incorrectly?
Unpadded names place page 10 before page 2 in alphabetical listings. Zero-pad the index, for example page-0002 and page-0010, or sort numerically.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




