PDFs
Compress a PDF for Print Without Losing 300 PPI
To compress a PDF for printing, remove only the pixels the page cannot show. A press needs about 300 PPI at final size, so an image placed at 1,700 PPI is carrying far more data than the paper will resolve.
Strip it back to exactly 300 and the savings are enormous without costing a thing. Our twelve-page test layout went from 34,826,340 bytes to 552,962 bytes, a 98.4% reduction, with every image still at a full 300 PPI and every font still embedded.
Almost every guide to this subject will get you a file that looks fine on a laptop and prints like a fax. The difference is that screen-oriented tools cap pixels while a printer needs a resolution held at a physical size, and those two things come apart badly on large pages.
What does a printer actually need from a PDF?
Four things, and only one of them is about file size. The authoritative numbers are not a matter of opinion: Adobe ships them as plain-text preset files that Distiller and the Creative Cloud applications read, and you can open them.
ls "/Library/Application Support/Adobe/Adobe PDF/Settings/"
# High Quality Print.joboptions Press Quality.joboptions
# Smallest File Size.joboptions PDFX1a 2001.joboptions …| Setting | [Press Quality] | [High Quality Print] | [PDF/X-1a:2001] |
|---|---|---|---|
| Color / gray resolution | 300 ppi | 300 ppi | 300 ppi |
| Monochrome resolution | 1200 ppi | 1200 ppi | 1200 ppi |
| Downsample threshold | 1.5× | 1.5× | 1.5× |
| JPEG QFactor | 0.15 | 0.15 | 0.15 |
| Color conversion | CMYK | Leave unchanged | CMYK |
| Embed all fonts | Yes | Yes | Yes |
| PDF version | 1.4 | 1.4 | 1.3 |
So, in plain terms:
- 300 PPI at final size. Not 300 PPI in the original photograph. What matters is the resolution across the inches the image occupies on the printed sheet.
- Every font embedded and subsetted. A missing font is not a quality problem, it is a reprint.
- The color space the press expects. [Press Quality] converts to CMYK; [High Quality Print] leaves color alone for a desktop printer or proofer that manages its own conversion. Ask which one your printer wants rather than guessing.
- Bleed, if anything runs to the edge. Compression does not touch bleed or trim boxes, but a compressor that rebuilds the document can drop them. Check the output with
pdfinfo -box file.pdf, which prints MediaBox, CropBox, BleedBox, TrimBox and ArtBox.mutool infoonly reports media boxes, so it will not catch this.
One detail out of those files that catches people: [Smallest File Size] sets EmbedAllFonts to false. Adobe’s own description of that preset is “best suited for on-screen display, e-mail, and the Internet,” and it means exactly what it says. It is not a print preset and it never was.
How do you check the PPI of a PDF you already have?
One command, and it reports effective resolution rather than raw pixel count, which is the number that matters:
pdfimages -list artwork.pdfThe x-ppi column is the resolution of each image at the size it is drawn on the page. Two of our test files make the point:
| File | Image pixels | Placed at | Effective PPI | Print verdict |
|---|---|---|---|---|
| Layout export, small frames | 6,000 × 4,000 | 88 mm and 54 mm wide | 1,719 and 2,824 | Wildly over-specified. Free savings available. |
| Brochure, full-bleed A4 | 6,000 × 4,000 | 210 × 297 mm, cropped | 342 | Already close to target. Little to gain. |
| 24 × 36 in poster | 3,216 × 4,824 | Full page | 134 | Below target already. Do not compress. |
Same source photographs, three completely different answers. That is why “which preset should I use for print” has no universal answer and why anyone who gives you one has not looked at your file.
Why do screen presets wreck print files?
Because they cap pixels and a printer cares about inches. A pixel ceiling produces whatever resolution the page geometry happens to yield, and on a large page that number collapses.
Here is the same tool, the same five presets, run across two documents. Our presets are long-edge pixel caps of 600, 900, 1,200, 1,800 and 2,400 pixels:
| Preset (long-edge cap) | Full-bleed A4 brochure | Layout with 88 mm frames |
|---|---|---|
| tiny (600 px) | 34 PPI | 172 PPI |
| small (900 px) | 51 PPI | 258 PPI |
| medium (1,200 px) | 68 PPI | 344 PPI |
| large (1,800 px) | 103 PPI | 516 PPI |
| original (2,400 px) | 137 PPI | 688 PPI |
Medium leaves 68 PPI on one document and 344 PPI on the other. On the layout it is genuinely press-viable. On the brochure it is a photocopy. Nothing about the preset name tells you which one you are getting, and this is the single most important thing to understand before compressing anything destined for paper.
Preview’s Reduce File Size has the same shape of problem with the dial welded shut. Its filter hard-codes 144 DPI and an absolute ceiling of 2,400 pixels per image, whatever the page size:
| Through Preview’s Reduce File Size | Before | After | Print verdict |
|---|---|---|---|
| Full-bleed A4 brochure | 342 PPI | 137 PPI | Visibly soft on a press sheet. |
| Layout with small frames | 1,719 / 2,824 PPI | 144 PPI | Half of what a press needs. |
| 24 × 36 in poster | 134 PPI | 67 PPI | Coarser than a newspaper. |
We take that filter apart properly in why Preview’s Reduce File Size ruins PDFs. For print work the summary is short: do not use it.
What actually shrinks a print PDF safely?
Two moves, in this order. Both were run on the same files as everything above.
1. Re-encode without resampling. If the PDF carries uncompressed or Flate-encoded images, which is common in exports from drawing tools and anything with pasted screenshots, you can convert them to JPEG with the pixel dimensions untouched:
qpdf --optimize-images artwork.pdf artwork-smaller.pdfOn a two-page file with Flate-encoded 2,550 × 3,300 images that took 19,873,274 bytes to 1,989,730 bytes in 0.33 seconds, still 2,550 × 3,300, still 300 PPI. A 90% saving with zero resolution change is as close to free as this gets, and it should be the first thing you try.
2. Downsample to exactly 300 PPI, and only above 300. Ghostscript with explicit parameters rather than a named preset:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.6 \
-dDownsampleColorImages=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=300 \
-dColorImageDownsampleThreshold=1.0 \
-dDownsampleGrayImages=true \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=300 \
-dGrayImageDownsampleThreshold=1.0 \
-dAutoFilterColorImages=false -dColorImageFilter=/DCTEncode \
-dEmbedAllFonts=true -dSubsetFonts=true \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=print-ready.pdf artwork.pdf| File | Before | After | Change | PPI after |
|---|---|---|---|---|
| Layout export | 34,826,340 B | 552,962 B | −98.4% | 300 |
| Brochure, full-bleed A4 | 16,821,680 B | 4,059,670 B | −75.9% | 300 |
| 300 PPI scan | 5,017,560 B | 1,827,152 B | −63.6% | 300 |
| 24 × 36 in poster at 134 PPI | 3,168,921 B | 3,169,905 B | +0.0% | 134 |
That is the behaviour you want from a print tool. It removes what is redundant and declines to touch what is not. Note the DownsampleThreshold of 1.0: Ghostscript’s default of 1.5 means a named preset like /prepress ignores anything under 450 PPI, which is why running it on our 342 PPI brochure changed the file by −0.0%. Adobe’s presets carry the same 1.5 threshold, and this is the usual reason “I used Press Quality and it is still huge.”
The full set of terminal recipes, including the grayscale and color-conversion flags, is in compressing PDFs from the Terminal on macOS.
When Smol is not the answer for print work
This is our tool, and for press work there are three cases where it is the wrong one. We would rather write them down than have you find out at the proof stage.
Full-bleed pages at A4 or larger. Our presets are pixel caps, and 2,400 pixels is the ceiling. On a full-bleed A4 page that is 137 PPI, and on a 24 × 36 inch poster it is 67 PPI, which is the same ceiling Preview hits and for the same reason. If the artwork bleeds and the page is big, use the Ghostscript command above or send the file as it is.
Anything that has to be CMYK or PDF/X. We do not convert color spaces, attach output intents or enforce a PDF/X profile. Our outputs stay in the color space they arrived in. If the spec says PDF/X-1a with a SWOP output intent, that is an export setting in the application that made the artwork, not a compression step.
When the images are already at or below 300 PPI. There is nothing to win, and original is not a no-op: it re-encodes and resamples anything above 2,400 px. If pdfimages -list shows you are already near target, the correct action is to do nothing. The preset breakdown covers what each level does in detail.
Where we are a good fit for print-adjacent work: proofs, client review PDFs, and the folder of one-off exports that has to go out by email today while the press file stays untouched on disk. For that, $29 once and a resolution ladder beats one button, and the file never leaves your machine. If the export itself is the problem, start with why your InDesign PDF export is enormous instead of compressing after the fact, and the five-method comparison has the screen-side numbers.
How these numbers were measured
Run on 26 September 2026 on a MacBook Pro (Mac14,9), Apple M2 Pro, 16 GB of RAM, macOS 27.0 (build 26A428). Sizes are raw bytes from stat -f%z; resolutions from pdfimages -list (poppler 26.04.0). Ghostscript 10.07.0, qpdf 12.3.2, Smol 1.0.35.
Fixtures. Three files built for this article so the results are reproducible. An eight-page A4 brochure with full-bleed images, and a twelve-page layout with twenty-four placements in 88 mm and 54 mm frames, both rendered by headless Chrome from eight synthetic 6,000 × 4,000 photographs generated with ImageMagick 7.1.2. A 24 × 36 inch poster page built from the same source at 134 PPI. No client artwork and no third-party photography was used.
Adobe preset values were read from the .joboptions files Adobe installs in /Library/Application Support/Adobe/Adobe PDF/Settings/, not from documentation. Those files are plain text and self-describing; each one carries Adobe’s own description string alongside the numbers.
Frequently asked questions
What DPI should a PDF be for printing?
300 PPI at final size for photographs and continuous-tone images, and 1200 PPI for pure black-and-white line art. Those are the values in Adobe’s own [Press Quality], [High Quality Print] and PDF/X-1a preset files. What matters is the resolution across the inches the image occupies on the sheet, not the pixel count of the original photograph.
Can you compress a PDF without losing print quality?
Yes, if the images are above 300 PPI at final size. Downsampling a twelve-page layout whose images sat at 1,719 and 2,824 PPI took it from 34,826,340 to 552,962 bytes, a 98.4% reduction, with everything still at exactly 300 PPI and all fonts embedded. Those pixels were never going to reach the paper.
Why is my PDF still huge after using Press Quality?
Because of the downsample threshold. Adobe’s print presets carry a threshold of 1.5, so [Press Quality] only resamples images above 450 PPI even though it targets 300. Ghostscript behaves the same way: /prepress changed our 342 PPI brochure by −0.0%. Set the threshold to 1.0 explicitly if you want it to act on images just above target.
Does Preview’s Reduce File Size ruin a print PDF?
Yes. Its filter hard-codes 144 DPI and an absolute 2,400 pixel ceiling per image. Our full-bleed A4 brochure came out at 137 PPI, a layout at 144 PPI, and a 24 by 36 inch poster that was already at a modest 134 PPI came out at 67 PPI. All three are below what any commercial printer will accept.
Should a print PDF be CMYK or RGB?
Ask the printer. Adobe’s [Press Quality] converts to CMYK and PDF/X-1a requires it with a named output intent, but [High Quality Print] deliberately leaves color unchanged because desktop printers and proofers manage their own conversion. Converting to CMYK twice is worse than not converting at all, so find out before you export.
What is the safest way to shrink a print PDF?
Try "qpdf --optimize-images" first. It re-encodes uncompressed and Flate images as JPEG without changing a single pixel dimension. On a file with Flate-encoded 2,550 by 3,300 images it saved 90.0% in 0.33 seconds with the resolution untouched. Only then consider downsampling, and only for images above 300 PPI at final size.
Keep reading