Mixing photos and screenshots in one combined PDF — DPI surprises
CombinePDF accepts both PDFs and images: photos from a phone, screenshots, scans, even SVG diagrams. Each one becomes a page in the output. The surprise that catches people: those pages don't all look equally crisp. A high-megapixel photo and a low-resolution screenshot, both fitted to A4, render at very different effective pixel densities. The PDF is correct; the visual result is uneven.
Why this happens
An image's "size on the page" is computed from pixel count divided by DPI. To fit any image onto A4, CombinePDF chooses a DPI just high enough that the longer axis matches A4's longer axis (within margins). The chosen DPI varies wildly between sources:
- A 4032 × 3024 phone photo on A4 portrait → ~488 DPI. The 4032 source pixels stretch across A4's full width.
- A 1920 × 1080 desktop screenshot on landscape A4 → ~164 DPI. The 1920 source pixels stretch across A4's longer side (11.69 in), leaving white margins above and below.
- A 1024 × 768 older screenshot on portrait A4 → ~124 DPI. The pixels are stretched thin.
- A 3300 × 2550 scan of a Letter page at 300 DPI → exactly 300 DPI on Letter (best case: original page at original size).
The on-screen impression at 100% zoom is similar across all four — they all fill the page rectangle. The on-print impression diverges sharply: 488 DPI is excellent print quality; 124 DPI is visibly pixelated on a laser printer at typical reading distance.
What the PDF stores
For each image-derived page, the PDF contains:
- An Image XObject with the encoded pixel data.
- A page content stream with a
cm(concatenate matrix) operator that scales the unit-square image XObject to the page rectangle.
What "changes" between low-DPI and high-DPI images is the matrix — a different rectangle on the page for the same pixel grid.
One thing to know about CombinePDF specifically: it re-encodes images as part of building each page. JPEG inputs are re-encoded at quality 85 when the source quality is higher, and palette/grayscale PNG inputs are run through a lossy quantizer that reduces palette size. CombinePDF prioritizes a smaller merged file over archival-grade fidelity; the original byte stream of a high-quality JPEG or a precise PNG palette is not preserved as-is. For a combine workflow where source fidelity is paramount, convert each image to a PDF with a tool that preserves bytes (such as JPG2PDF) and then combine the resulting PDFs.
What this means for printing
On a 300 DPI laser printer, a 488 DPI source page is downsampled by the print driver to 300 DPI; details are crisp because the printer had more source data than it needed. A 124 DPI source page is upsampled to 300 DPI; the printer had to invent the missing data, smoothing edges. Side by side in the same combined PDF, the difference is obvious: photo pages look like photos, screenshot pages look fuzzy.
If your combined PDF will be printed and visual consistency matters, plan around this:
- Match source resolutions ahead of time. Resize all images to the same target pixel count for the same target page size before uploading.
- Don't mix dramatically different sources. A document of phone photos prints cleanly; a document of screenshots prints cleanly; a document mixing both has the inconsistency.
- Print at "fit to page" rather than 100% scale. If you accept that the printer will downsample everything to its native resolution, the inconsistency reduces to "everything prints at ≤300 DPI" rather than "this is sharp, this is fuzzy".
On-screen the gap is smaller
Most modern monitors are 100–250 PPI. At 100% zoom, a 124 DPI image renders close to its native pixel grid; a 488 DPI image is downsampled to the screen. Both look reasonable; the high-DPI source has invisible "extra" detail that emerges only when zooming in.
Zoom in to 400% and the gap shows: the photo stays crisp because the source had the resolution to support it; the screenshot becomes blurry because the source had no more detail to reveal. This is unavoidable — pixels are pixels, no PDF magic creates them.
What CombinePDF doesn't do automatically
The tool fits each image to A4 individually, choosing per-image DPI. It does not:
- Pick a uniform DPI across all pages and pad/center smaller images to match.
- Upsample low-resolution sources to match high-resolution ones.
- Preserve original JPEG quality above 85 — high-quality sources are re-encoded down to 85.
If you need uniform print-quality across mixed sources, render all images to PDF first in a photo editor that lets you pick DPI explicitly (Photoshop's "Save As PDF" dialog, Lightroom's print module, or any image editor with a "Save as PDF" option that exposes a resolution setting). Then combine those PDFs with CombinePDF — at that point all your inputs are PDFs of consistent dimensions, and the combine step won't touch the embedded images.
Related reading
For the underlying math behind these DPI numbers, see page sizes when combining. For the specific case of phone photos to PDF, the jpg-dpi-math article on JPG2PDF walks through the formula in detail.