I create PDFs width wkhtmltopdf tool (renders HTML to PDF)

This PDFs are intended to be used for (semi) professional printing.

So lets say the printing quality should be 300dpi, and a user places a 3 inch by 3 inch Picture on this page. The uploaded picture is lets say 3000x3000 (10MB)

If my logic is correct picture size of 900x900 would be best (is this correct?)

So I see two possibilities

  • put the full image into PDF and getting a size of at least 10MB, hoping that the printing company makes the best out of it


  • resize (shrink) it to the 900x900 local on my server (imagemagick) with best quality I can get - getting a PDF size around 1MB

If my logic is correct then the second one is the correct answer.

Is it correct? If not why?

2 Answers 2


Your logic's correct in terms of a 3in x 3in picture at 300dpi needing to be 900px x 900px. Any dimensions beyond this are superfluous, in theory.

I say in theory because real world practice sometimes shows that having to physically shrink a large compressed before printing can give a better quality 900px x 900px image being printed than a compressed 900px x 900px image being printed.

This would be negligible in jpegs with light compression and a good resampling algorithm in imagemagick, but worth raising in a professional environment. Sounds like you should be ok storing 900px x 900px.

  • Sounds like better only shrink to 1200 or so, 3000 IS to big but let some space for printing?
    – halfbit
    Aug 17, 2017 at 18:13
  • Run some test prints with both and judge for yourself. I'd strongly advise doing this regardless of this question. I would imagine that you would be using very light jpeg compression so 900px x 900px is likely fine. I doubt you will notice any jpeg compression artefacts in the prints. Aug 17, 2017 at 18:27
  • ... and judge for yourself. Thats my prob "I am blind on this", I only see bad quality if it its very bad ...
    – halfbit
    Aug 17, 2017 at 18:37
  • @halfbit then most likely you shouldn't be doing this job at all. Unless you want to pay for the learning experience.
    – joojaa
    Aug 17, 2017 at 18:40
  • 1
    > wouldn't use 900 by 900 for print in anycase even if i only printed at 3 inches. Just so we don't confuse the situation, I believe you've moved the discussion into workflow and project management of images being edited. I'll clarify to halfbit that your computer/printer will throw away any information above 900px when it's printing a 3 inch document at 300dpi. If you need to edit the images or print at other dimensions later, that's a separate question. Aug 17, 2017 at 18:58

Ok, while you certainly can down sample the image. And that works. there area a few possible caveats to consider. Remember i know next to nothing with your aims and what your software is doing. Problems that may arise:

  • The image in question is not photographic, but relies on say some vector content like text. Now text printed at 300 DPI is a bit smudgy as itsusually rasterized at higher resolution than photographic content. In any case a samrt user may try to circumvent this fact with bigger images.

    This may be misusing, or then not. But you need to decide whether this is really the case.

  • Smaller image != smaller file. Certainly in the case of 30000 vs 900 the game is clear. But what really matters is how much entropy is in the image. Therefore naively just scaling is not necessarily the best strategy for bandwidth allocation.

    You could adopt a strategy where you attempt to compress if the size of the image is beyond a certain size threshold instead. As then you would reward those that can do the job themselves.

  • Scaling your application after the fact is not possible. If somebody decides to do something with the image data later to up sell something then it might not work out so well. Although 150 PPI may be acceptable in many cases.

The printer wont likely do anything to the images, unless they are absolutely enormous. As the work to do this is often not worth it, and their rip may decide whats best anyway.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.