converting a pdf page to an image using GraphicsMagick - pdf

How do I convert only page 2 of a pdf file to a jpg image file, using GraphicsMagick command line prompt?
What option can I use in the gm.exe convert command?
gm.exe convert testing.pdf testing.jpg

Add the page number (starting from zero) in square brackets after the PDF filename:
gm.exe convert testing.pdf[1] testing.jpg
By the way, you can use the same indexing technique for accessing specific frames of a GIF animation, or layers of multi-layer/directory TIFFs.

use the blow command, will get high quality png with white background.
magick convert -density 300 -quality 100% -background white -alpha remove -alpha off ./646.04.pdf ./x.png

Related

Convert a region of each PDF page to grayscale

I have a PDF that I want to print and a small region of each page has a thick rainbow at the left border. It is on each page. In order to save color ressources I would like to convert only this region to grayscale - or remove it completely with a white rectangle. I have looked into imagemagick but could not find a suitable solution to keep all the other color on the pages.
I have also thought of exporting each page to a separate PDF, apply a rectangle filter to each pdf and then combine it again. But I would prefer a simpler approach as the quality of the graphs seem to decrease each time I convert a pdf.
You do not have to extract each page to do that in ImageMagick. You can process it all in one command. Here is an example.
Create PDF:
convert lena.jpg mandril3.jpg zelda1.jpg test.pdf
Create white image:
convert -size 100x100 xc:white white.png
Apply white image to every page of PDF:
convert test.pdf null: white.png -geometry +50+50 -layers composite result.pdf

converting PDF with image magic leaving extra white space around

I am trying to convert .pdf files to .jpg using image-magic
convert -limit -limit map 300 -flatten -density 300 -quality 100 -crop '400x400+20+20' dummy.pdf[0] test.jpg
but the problem i am facing is when i convert the file, it cropping the area but marking all the other area as white.
for example if i am converting a pdf with 1000x1000 size and cropping it to a 100x100 size, the output am getting is an image with 1000x1000 size with 100x100 area croped from the pdf and rest is white space.
sample.pdf
i cannot use trim, since my pdf may or may not have white border and trim will remove it
Your syntax is not in the proper order for Imagemagick. Most of the settings and operators need to come after reading the input PDF. Using Imagemagick 6.9.10.71 Q16 Mac OSX Sierra:
convert -limit map 300 -density 300 dummy.pdf[0] -background white -flatten -crop '400x400+20+20' -quality 100 test.jpg

convert PDF to EPS to PNG without text

How to convert PDF to PNG (and filter out the text)..
I want to render images and vector graphics (vector text included) without plain text
Below only the image is extracted.. not the whole page of the PDF
gs -sDEVICE=eps2write -dFILTERTEXT -dFirstPage=1 -dLastPage=1 -o out.eps 091.pdf
convert -density 300 -background white -alpha off out.eps -resize 2480x3508! OUT.png
from EPS
PDF
The FILTERTEST switch (as I'm pretty sure is documented) only works on text, not on image which contain a pattern of pixels which look like text, or on vector linework which looks like text.
Wihtout seeing your EPS I can't tell if the text you are complaining about is text or not, but my guess would be not.
By the way, if you want a PNG then there's no reason to convert the EPS to PDF, just render the EPS directly to a PNG file.

graphicsmagick - convert images to pdf and vice versa

I want to shift from imagemagick to graphicsmagick
But I encounter some issues with the syntax
With imagemagick
First I need to merge some images into a PDF
convert -density 300 page_*.tif output.pdf
And then I need to create a thumbnail of the first page of the PDF
convert -density 300 file.pdf[0] -background white -alpha remove -resize 140x140 -strip -quality 40 thumb.jpg[0]
This works fine.. But I want to switch the first command to graphicsmagick
Width graphicsmagick/imagemagick
The graphicsmagick syntax here works fine
gm convert -density 300 page_*.tif output.pdf
But when creating the thumbnail with imagemagick the output has the right size but the acutal image is downsized inside the image itself?!
Thumbnail with imagemagick
https://secure.dyndev.dk/data/voucher/30000/400/30435_eb7e5d0a9df71b2783e2fa89efd9de12fcdb9679.pdf
Thumbnail with graphicsmagick
https://secure.dyndev.dk/data/voucher/30000/400/30433_7710d6404534b0868ab8da41dd651e971b70e16b.pdf
Just hit the same issue, and found a solution here:
https://blog.josephscott.org/2009/11/16/imagemagick-convert-pdf-to-jpg-partial-image-size-problem/
You need to change your convert command into:
convert -density 300 -define "pdf:use-cropbox=true" file.pdf[0] -background white -alpha remove -resize 140x140 -strip -quality 40 thumb.jpg[0]
And perhaps add a -resize "2000x2000>" to limit the size of the resulting JPEG, especially with high density values.

ImageMagick PDF to JPGs sometimes results in black background

I have the following:
ghostscript-fonts-5.50-24
ImageMagick-6.7.2-1
ghostscript-9.02-1
Which I use to create a series of JPGs for each page using:
convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.jpg
When I run this on my windows machine all appears to work ok, but on our linux server we get the black background problem.
The resulting JPGs have a black background rendering the image un-readable, what am I missing or is there something I should be doing to correct this?
I've been all over google for days but each suggestion doesnt seem to work for me.
Any help is much appreciated, thanks in advance :)
EDIT
Just noticed this output when converting one of the PDFs that produces the black background:
**** Warning: Fonts with Subtype = /TrueType should be embedded.
The following fonts were not embedded:
Arial
Arial,Bold
Arial,BoldItalic
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Microsoft« Word 2010 <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
This seems related but as we don't have control over how the PDFs are produced we need some way of fixing this server side.
Thanks again
Ran into this one today, found this:
https://www.imagemagick.org/discourse-server/viewtopic.php?t=20234
Based on that, these should all work:
-flatten
-alpha flatten
-alpha remove
I'm currently using the below for my specific case which works great:
convert -thumbnail "1280x800>" -density 300 -background white -alpha remove in.pdf out.jpg
Simple fix to this issue is to use an image format that supports transparency, such as png.
So:
convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.png
Problem solved :)
If you want a high quality result, use this command:
convert -density 700 input.pdf -resize 25% -append -quality 98 -alpha remove output.jpg
For windows users, use magick instead of convert