Compression removes redundancy, not content
A PDF holds its pages as drawing instructions: text runs with their fonts, images at a given resolution, vector paths, and a structure tree. A compressor can take out three kinds of redundancy — images stored at a higher resolution than they are ever displayed, fonts embedded in full when only a subset of glyphs is used, and objects that nothing references any more after an edit.
What it cannot do is remove content. If every page is a scanned photograph at 600 dpi, the only way to make the file smaller is to throw pixels away, which is a quality decision, not an optimisation.
The three cases where the file grows
An output larger than the input is almost always one of these:
- The file was already optimised. Running a second pass on a file that has already had its fonts subset and its images downsampled can only re-encode, and re-encoding a JPEG at a similar quality adds size without adding detail.
- The input was a scan stored as JPEG, and the compressor converted it to a lossless format or re-wrapped it. Lossless is bigger by definition.
- The document was linearised, signed or encrypted on the way out. Object streams, a signature dictionary and an incremental update each add bytes that have nothing to do with the pages.
What to do instead
The useful question is not "how do I compress this" but "what is taking up the space". Two facts narrow it down before you touch a setting:
- Try to select text on a page. If you can, the file has a text layer and its weight is in fonts and images, not in page scans.
- Compare file size with page count. A text document is usually tens of kilobytes per page; a scan is hundreds of kilobytes to a few megabytes per page.
- If it is a scan, lower the resolution and convert to greyscale if the content allows it. That is where the megabytes are.
- If it is already small per page, leave it alone. Re-compressing a 300 KB text PDF rarely gets below 250 KB and often ends up larger.
A note on "compress to a target size"
Some tools offer a target size — "make this 2 MB". That is a different operation: the tool lowers image resolution and quality until the estimate fits, and it will keep going until the file fits even if the pages become unreadable. If a form has a hard upload limit, it works; if you just want a smaller file, a fixed quality setting is the safer choice.