Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

PDFKit does not have a universal “increase DPI” switch. To make a PDF look sharper, identify what is soft: a raster image may need more source pixels or a smaller placement; a page may have the wrong physical dimensions; or artwork and text may need to be drawn as vectors rather than enlarged from a bitmap. PDFKit controls image placement and page geometry, but those settings do not recreate detail missing from an image.

What “PDF resolution” means in PDFKit

A PDF page can combine text, vector paths and raster images. Those elements behave differently when viewed at different sizes or printed:

  • Raster images, such as JPEG and PNG, are made of pixels. Their apparent sharpness depends on the source pixel dimensions and the physical area they occupy on the page.
  • Text and vector graphics are described as text or paths rather than a fixed grid of pixels, so they can generally be scaled without the same pixelation constraint.
  • Page geometry determines the page’s dimensions and coordinate space. Correcting it can fix layout or print size, but it does not add raster detail.

PDFKit’s official image guide documents sizing and placement options, while its page documentation describes dimensions in points and page geometry. Those are useful controls, but they are not image-enhancement tools. See Images in PDFKit, Getting Started with PDFKit and Paper Sizes.

Check the image’s pixel dimensions and placed size

PDFKit accepts JPEG and PNG images from a file path, a buffer or a base64 data URI. Its image API lets you use the image’s default size or set dimensions with options such as width, height, scale, fit and cover. If both width and height are set, the image is stretched to those dimensions; use that only when distortion is intended. The options change placement, not the number of source pixels.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Epson Workforce ES-50 Compact & Lightweight Mobile Document Scanner
  • 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

For a practical print-size check, compare the image’s pixel width with the width at which it will appear. For example, a 1200-pixel-wide image placed 6 inches wide works out to 200 pixels per inch at that size (1200 ÷ 6). This arithmetic describes the raster’s pixel density at placement; it is not a PDFKit setting or a universal print-quality threshold. Whether it is sufficient depends on the intended use and output workflow.

Example: place a source image at a controlled width

Install PDFKit in a Node.js project, then save this as make-pdf.js. Put a JPEG named source.jpg beside the script:

const PDFDocument = require('pdfkit');
const fs = require('fs');

const doc = new PDFDocument({ size: 'LETTER', margin: 48 });
doc.pipe(fs.createWriteStream('image-placement.pdf'));
doc.image('source.jpg', 48, 72, { width: 420 });
doc.end();

The image is placed with its width set to 420 PDF points; its height follows proportionally. PDFKit’s Getting Started guide states that there are 72 points per inch, so 420 points correspond to 5.83 inches. If the image is still soft at the intended display or print size, use a source with more pixel detail or reduce its placed size. Do not expect a larger width value to sharpen it.

Rank #2
Sale
Brother DS-640 Compact Mobile Document Scanner, (Model: DS640)
  • 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)

Fit an image inside a box

When an image must stay within a known area without being stretched, use a fit box. This preserves the image’s proportions while scaling it to fit the specified bounds:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
doc.image('source.jpg', 48, 72, {
  fit: [420, 280]
});

Use cover when the image should fill a box, understanding that filling it may crop part of the image. Check the result if the full image content must remain visible. For exact behavior, confirm the API against the PDFKit version installed in your project and the official image guide.

Set page size for physical layout, not image detail

PDFKit page dimensions are expressed in points; the Getting Started documentation states 72 points per inch. You can use a named paper size or explicit dimensions when creating the document. Choose a page size that matches the intended paper or downstream layout, then size and position content within it.

Rank #3
Sale
Epson Workforce ES-400 II High-Speed Color Duplex Desktop Document Scanner
  • 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
const PDFDocument = require('pdfkit');
const fs = require('fs');

const doc = new PDFDocument({
  size: 'LETTER',
  margins: { top: 48, right: 48, bottom: 48, left: 48 }
});
doc.pipe(fs.createWriteStream('page-sized.pdf'));
doc.fontSize(18).text('A heading rendered as PDF text', 48, 72);
doc.end();

For a custom page, provide explicit dimensions in points, following the API for the PDFKit version you use. The userUnit option described in the paper-size documentation can scale the physical page size without changing the coordinate system. Neither a larger page nor a different coordinate scale supplies additional pixels to an embedded JPEG or PNG. Consult PDFKit’s Paper Sizes guide when selecting or diagnosing page geometry.

Use vectors and PDF text for content you generate

If your application creates logos, diagrams, labels, charts or line art, drawing them with PDFKit’s vector and text APIs avoids baking those elements into a fixed-resolution bitmap. The project describes text and vector graphics as supported capabilities; the vector guide documents drawing paths and shapes. This makes vector construction a better fit when content must remain crisp at different zoom levels or sizes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const PDFDocument = require('pdfkit');
const fs = require('fs');

const doc = new PDFDocument({ size: 'LETTER' });
doc.pipe(fs.createWriteStream('vector-content.pdf'));
doc.fontSize(24).text('Generated PDF text', 72, 72);
doc.moveTo(72, 125).lineTo(360, 125).stroke();
doc.rect(72, 150, 180, 80).stroke();
doc.end();

Use the PDFKit Vector Graphics guide for the available drawing methods. Converting an existing low-resolution bitmap to a vector-like format does not automatically restore information that was never present in the source; redraw or recreate the artwork when possible.

Rank #4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
  • Scanner type: Document
  • Connectivity technology: USB
  • With Auto Scan Mode, the scanner automatically detects what you're scanning
  • Digitize documents and images

Do you need to set DPI?

First clarify which meaning of DPI matters for your task:

  • Image pixels per inch at print size: determined by the raster’s pixel dimensions relative to its placed physical size. Use a more detailed source or place it smaller if it looks soft.
  • Page dimensions or scale: controlled by the PDF page size and related geometry. Set these to match the intended physical page, but do not treat them as a resolution enhancement.
  • Rasterized image export: an application converting a PDF page into a bitmap chooses the output pixel dimensions or density. The PDFKit image-placement options cited here do not document a general option that enhances embedded image resolution.

There is no single PDFKit DPI value that fixes all three. Decide whether the problem is source detail, physical layout or a later rasterization step, and adjust that layer.

A practical diagnostic sequence

  1. Inspect the soft element. If text and lines look crisp but a photo looks blurry, investigate the photo’s source pixels and placed size first.
  2. Check source dimensions. Confirm the JPEG or PNG’s pixel width and height before embedding it. A preview that looks sharp at a small size may not contain enough detail for a much larger placement.
  3. Check the placement options. Review width, height, scale, fit and cover settings. Avoid unintended stretching, and ensure a cover box is not cropping important content.
  4. Verify page geometry. Confirm the named or explicit page size, margins and any userUnit use against the intended physical output.
  5. Identify the viewing path. Compare the PDF in another viewer or after printing if the softness appears only in one preview. If a PDF is converted to an image, examine the converter’s rasterization settings separately.
  6. Replace or recreate the source when needed. Use a higher-detail raster for photographic content, or generate text and line art as PDF text and vectors.

Common problems and fixes

Symptom Likely cause What to check or change
A photo becomes blurry when enlarged The raster source has too few pixels for its placed size. Use a more detailed source or reduce the image’s page width. Scaling controls placement, not recovered detail.
An image looks distorted Both width and height were specified with a different aspect ratio from the source. Set one dimension, use a proportional scale, or fit the image into a box rather than forcing both dimensions.
The PDF page prints at the wrong size Page geometry or the print workflow does not match the intended physical paper. Check the PDF page size in PDFKit and the print application’s scaling options. Do not change image placement as a substitute for correcting page size.
Text or a diagram looks pixelated It may have been rasterized before being added to the PDF. Generate text with PDFKit’s text API and redraw eligible shapes using vector methods.
The file looks soft only in one viewer or export The viewer preview or downstream PDF-to-image conversion may be affecting appearance. Compare another PDF viewer and inspect the rasterization settings of the export step before changing the source PDF.
An image does not load The path, buffer or data URI may be invalid, or the input may not be a supported format. Verify that the file is readable and is JPEG or PNG; check the project’s installed PDFKit version against its image documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability and output checks

Image dimensions and placement affect appearance, while the chosen source assets affect the data PDFKit must embed. Use assets with enough detail for their intended size rather than enlarging them blindly. If a PDF is produced by a downstream service, test the completed file in the intended viewer or print path: a correct PDF page size does not by itself guarantee that a later export or print dialog uses that size.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
ScanSnap iX2500 Wireless or USB High-Speed Document Scanner, Black
  • 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

Keep a small representative output in your project’s checks: include at least one raster image at its expected placement size, generated text and any vector elements the document uses. Inspect the result at the intended viewing scale and, where print matters, check the physical page size. This catches layout and source-image issues without assuming that a particular DPI target fits every workflow.

Or skip the browser setup

For website screenshots rather than PDFs generated from your own application, ScreenshotNeo is a screenshot API and MCP server. Its one-call API can return a screenshot in PNG, JPEG or WebP, or a PDF. The response and clean-shot behavior are separate from PDFKit’s image placement: neither service can add source detail absent from a raster image.

Here is a cURL request for a website screenshot; replace the URL with the page you need and supply your API key. See the ScreenshotNeo documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
  • Cookie and consent banners are accepted and removed before capture; more than 60 known consent platforms, newsletter popups and chat widgets can be removed, and each step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing; response headers say which page verdict was returned and whether the request was billed.
  • An MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
  • The Free plan includes 1,000 screenshots a month with no card. Paid plans start at $5 for 3,000 screenshots; every feature is on every plan.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Can PDFKit increase the DPI of an existing JPEG or PNG?

No general image-resolution enhancement option is documented in the cited PDFKit image API. Use an image with more source pixels or place it at a smaller size.

Why does changing the PDF page size not make a photo sharper?

Page dimensions set physical geometry. They do not add raster pixels to an embedded image.

Quick Recap

Bestseller No. 4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Scanner type: Document; Connectivity technology: USB; With Auto Scan Mode, the scanner automatically detects what you're scanning
$75.00

Which image formats does PDFKit’s image guide list?

The guide lists JPEG and PNG.

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.