Convert PDF to PNG using ImageMagick
Solution 1
when you set the density to 96, doesn't it look good?
when i tried it i saw that saving as jpg resulted with better quality, but larger file size
Solution 2
Reducing the image size before output results in something that looks sharper, in my case:
convert -density 300 a.pdf -resize 25% a.png
Solution 3
To get high quality, one should do "supersampling" in Imagemagick. Convert at a high density, but then resize down as needed (nominal enough to compensate for the high density).
convert -density 288 input.pdf -resize 25% output.png
288=72*4 (72 dpi is default density, so 4x)
25%=1/4
So the 1/4 compensates for the 4x.
Solution 4
convert -density 192 input.pdf -quality 100 -alpha remove output.png
for pdf text document is good enough.
-density 192
double 96dpi, higher just make bigger image and file size
-quality 100
somehow this give slightly smaller file size
-alpha remove
to remove png transparent background
Related videos on Youtube
StackOverflowNewbie
Updated on December 28, 2021Comments
-
StackOverflowNewbie over 2 years
using ImageMagick, what command should i use to convert a PDF to PNG? I need highest quality, smallest file size. this is what I have so far (very slow by the way):
convert -density 300 -depth 8 -quality 85 a.pdf a.png
Looking at what Gmail does when a user "view" a PDF, the quality is awesome and the file size very minimal. The DPI is just 96 (I have to set a density of 300 to get anything decent). Anyone know how GMail does it? Thanks.
-
ch271828n about 8 yearsUsing
density
is also the solution of the converted image too blur. -
bers over 7 years
I need highest quality, smallest file size.
At the same time? Impossible. Welcome to the real world! -
A. Go almost 3 yearsI guess he meant maximum quality with minimum file size possible or as sharp as original quality without adding unnecessary artifacts that increase file size without making image better. In that case, try
convert -density 192 input.pdf -quality 100 -alpha remove output.png
somehow-quality 100
may lower the file size. 192 double 96dpi is good enough, and-alpha remove
to remove transparent png background.
-
-
Avi Pinto about 14 yearsjust tried convert -density 96 -quality 85 a.pdf a.png and the results are very good
-
anderstood over 9 yearsThis methods worked for me while the accepted answer did not. In particular, the resulting thin lines are now OK while they were hugely aliased before.
-
Squirrel in training almost 7 yearsDoesn't work for me it claims it doesn't find the file.
-
Squirrel in training almost 7 yearsDownloaded the ImageMagick-7.0.6-0-portable-Q16-x64.zip
-
Squirrel in training almost 7 yearsAnd ran the command in the commandline. #shiftenteringishard
-
Andreas over 5 yearsWhat is the full command line for this? When I try to run this on a Windows machine it's running the Windows "convert" command.
-
Andreas over 5 yearsOn Windows you need to run
magick convert -density ...
because "convert" is a Windows system utility. -
Matt Manuel almost 4 yearson Windows preface the "convert" command with "magick" to get it to work. magick convert -density 300 -depth 8 -quality 85 a.pdf a.png
-
Tom about 3 years@Andreas Or you can just use full path, eg.
C:\MyFiles\convert -density ...
-
A. Go almost 3 yearsDisagree, density 96 is not good enough for pdf text doucment. And jpg may result worse result for pdf text document; jpg make larger file size with artifacts and worse quality for text. png however, result better in smaller file size and text quality; Use
-alpha remove
to remove png transparent background. -
fmw42 almost 3 years72 dpi is default for PDF not necessarily screen. See stackoverflow.com/questions/36905337/…. Feel free to use any density and fraction you want.
-
Geppettvs D'Constanzo over 2 yearsThis works great, nevertheless I am not using the
-resize 25%
as it makes the text blurry and some images suffer some kind of compression, pixelated.