Thursday, November 14, 2024
HomeTutorialsHow To Convert PDF To Image in Linux System (CLI and GUI...

How To Convert PDF To Image in Linux System (CLI and GUI Method)

PDF is one of the most popular forms to convey information nowadays, and we often need to manipulate those PDF files. Grabbing some portion of a PDF file as an image for various purposes is quite a common phenomenon. On Linux distros, one can convert PDF to image with ease. We can even specify the image file type here. A whole PDF can be converted into several images depending upon the page number of that PDF. Also, any particular page can be converted as well. Depending upon your necessity, you can choose anyone between them. You have the flexibility to choose.

Converting PDF to Image in Linux System


As I said earlier, you can convert a PDF to an image in several formats. It solely depends on what type of output you want to get. Do not worry! In this post, I am going to let you learn how to convert PDF to image in a Linux system.

To do so, you have to have some mandatory things in your Linux system. You must have bash or any shell. Any app to export your output file. And have to know some commands to do the work. Let us see them in detail.

1. Using the “pdftoppm” Command


The first method we are going to see is using the “pdftoppm” command. To access this command, you have to have the “poppler” tools on your computer.

  • For Debian or Ubuntu, the command to install poppler utils is as follows:
sudo apt install poppler-utils

install_in_debian1

  • For Arch Linux, you have to write this command on the terminal:
sudo pacman -S poppler

install in arch1

  • And, for RedHat or CentOS, the command goes like this:
sudo dnf install poppler-utils

install_in_rh1

Once you have poppler installed, for any Linux distro, that can be Ubuntu or Debian-based or Arch Linux, the rest of the syntax is the same for each of them. We can convert a PDF file in various ways. Each of them is going to be discussed below.

a. Converting a Whole PDF to Images


In this procedure, the whole PDF file is going to be converted into images. You can choose the image file type as well. First, you have to use the “pdftoppm” command. Then specify the image format. After that, write the PDF filename and the output name, respectively.

The ideal syntax to do so is as follows:

pdftoppm <image type> <pdf filename> <desired name for the image&gt

pdftoppm1_1

For instance, we have a PDF named “Sample.pdf”. So, how do we convert that whole PDF into images? Just write in the terminal:

pdftoppm -jpeg Sample.pdf images_extracted_from_sample_pdf

pdftoppm1_2

The image type can be anything like png or any type of extension. Note an important point here. You must write .jpeg and not .jpg. Writing the short form will cause errors here.

Each page from the PDF file is going to be converted into a jpeg-type photo. The first page will be named “images_extracted_from_sample_pdf-1.jpeg“, and the second one will be named “images_extracted_from_sample_pdf-2.jpeg“, and so on.

b. Converting a Bunch of Pages from the PDF to Images


Let us say that we do not need the whole PDF file to be converted. Only certain pages are to be converted into images. How to do so?

The syntax is quite the name. The only difference that appears here is you have to specify the range of page numbers you want to convert.

pdftoppm <image type> -f sn -l ln <pdf filename> <desired name for the image>

pdftoppm2_1

Here the sn depicts the starting page number, and ln depicts the last page number.

We want to convert the pages from 9 to 12 of the same PDF file we took in the previous section. The syntax is going to be:

pdftoppm -jpeg -f 9 -l 12 Sample.pdf images_extracted_from_sample_pdf

The output name will be like this: images_extracted_from_sample_pdf-9.jpeg, and it will count up to 12.

c. Converting a Single Page From a PDF to Image


Actually, it is a derivative of the last procedure we have seen. The syntax to convert a single page is the same. This time, the starting and finishing page number is going to have the same numerical value.

pdftoppm <image type> -f x -l x <pdf filename> <desired name for the image>

pdftoppm3_1

Here x represents the page number we want to convert into PDF. If we want to convert the fifth page to be converted, we have to write:

pdftoppm -jpeg -f 5 -l 5 Sample.pdf images_extracted_from_sample_pdf

pdftoppm3_2

Only one image file will be created here.

d. Customized Quality for the Converted Image File


Each image we see has a DPI (Dots Per Inch) value related to that image. Usually, when the DPI value increases, the picture quality also increases but takes a large space to exist and vice versa. Sometimes we need to control the DPI value of an image. How to control that? Look at the syntax closely.

pdftoppm <image type> -rx 300 -ry 300 <pdf filename> <desired name for the image>

pdftoppm4_1

The pdftoppm command assumes the DPI value to be 150 by default. To change that, we need to set the resolution of both of the axes individually. Let us say we want to set the X resolution to be 300 and the Y resolution to be 350 also. We have to use the -rx and -ry command for that.

For the file we have used previously, the syntax is going to be:

pdftoppm -jpeg -rx 300 -ry 300 Sample.pdf images_extracted_from_sample_pdf

pdftoppm4_2

2. Using the “convert” Command


You can also use the “convert” command to convert PDF to image in the Linux system. To have the convert command enabled on your computer, you have to install ImageMagick first. Depending upon your operating system, the syntax of installing Imagemagick varies.

  • If you have any Ubuntu or Debian based operating system on your computer, then open the shell and write:
sudo apt install imagemagick

install_in_debian_2

  • If the running operating system is RedHat-based or CentOS-based, then first, you have to install the php-devel, gcc, and php-pear as a prerequisite for Imagemagick. To do so, write:
yum install php-pear php-devel gcc

install_in_rh_2_1

Now your computer is ready to install ImageMagic. Write the following line in the shell:

yum install ImageMagick-devel ImageMagick-perl

install_in_rh2_2

The next point is, you have to install the PHP extension of ImageMagick.

pecl install imagick

install_in_rh2_3

And then, the final step.

echo “extension=imagick.so” > /etc/php.d/imagick.ini

install_in_rh2_4

On the latest versions of CentOS or Red Hat, ImageMagick is not available anymore and has been substituted with GraphicsMagick. To install that, just write down:

dnf info GraphicsMagick

install_in_rh2_5

After that, complete this.

dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl

install_in_rh2_6

  • On a computer running upon an Arch Linux, open the terminal and write
sudo pacman -S imagemagick

install_in_arch2

Once you have installed ImageMagick, you are ready to use the convert command.

a. Converting a Whole File into Images


Just like the pdftoppm command, on any Linux distro, the syntax is the same for using the convert command. The common syntax is as follows:

convert <pdf filename> <desired name for the image>.<image type>

convert1_1

For example, let us say that we have a PDF named Sample.pdf, and we want to convert it into png type images. The syntax for doing so is as follows:

convert Sample.pdf images_extracted_from_sample_pdf.png

convert1_2

The naming format for the extracted images is the same as there was in the pdftoppm command.

b. Converting a Single Page from a Document into Image


To convert a single page to an image, the following syntax is to be executed from the terminal:

convert <pdf filename><page number> <desired name for the image>.<image type>

convert2_1

To convert the 10th page of Sample.pdf, we have to write:

convert Sample.pdf[9] images_extracted_from_sample_pdf.png

convert2_2

An important note: the numbering of pages is done upon a zero-based numbering system. So the first page of the PDF is numbered as 0, and the rest will be counted from it.

c. Customizing the Quality of Converted Images


The DPI (Dot Per Inch) and compression can both be set using the convert command. We shall see both of them altogether.

convert -density <DPI value>  <pdf filename> -quality <Compression value> <desired name for the image>.<image type>

convert3_1

To convert Sample.pdf into png type images with no compression and 300 DPI, the command line syntax is going to be:

convert -density 300 Sample.pdf -quality 100 images_extracted_from_sample_pdf.png

convert3_2

Here, 100 means no compression should be done. You can set the value to any number under 100 to get compression of that corresponding level.

3. Using GIMP (GNU Image Manipulation Program) to Convert PDF to Images


GIMP is an amazing software to manipulate images in any distro. To install GIMP, follow the simple steps stated below.

  • For Debian or Ubuntu-based OS, open the terminal and write:
sudo apt install snapd

After completion of this, install GIMP.

sudo apt install gimp

install_in_debian_3_2

  • For CentOS or RHEL 8, the syntax is :
sudo dnf install gimp

install_in_rh3

  • And, for Arch Linux, the procedure is not that straightforward. First, you have to install the snap repo and then install GIMP from there. Write the following instructions respectively.
git clone https://aur.archlinux/snapd.git
cd snapd
makepkg -si

install_in_arch3_1

install_in_arch_3_2

install_in_arch3_3

Now you have to make a symbolic link to the /snap directory.

sudo systemctl enable --now snapd.socket

install_in_arch3_4

ln -s /var/lib/snapd/snap /snap

install_in_arch_3_5

And here goes the final step…

sudo snap install gimp

install_in_gimp_3_6

At this point, GIMP has been installed on your computer, and you are ready to work with it. Open GIMP form application manager. Go to the “File” option and hit “Open”. Now from this window, search for your desired document that you want to convert. Select that and go ahead.

You can apply different changes to the file from the edit menu. Manipulating files using GIMP is a completely different topic that is not in the scope of this post. After manipulation, again go to the “File” option and hit “Export as”. You can choose the extension type according to your necessity. Hit “Export” and you are done.

Wrapping up


So we have come to an end. Here we have seen how to convert PDF documents into images for a Linux system. We have covered several techniques to do that, and each of them is efficient and fruitful. The most popular method is using pdftoppm because of its flexibility. You can go for any of them depending upon your work.

Leave a comment about the post—any suggestions or problems you have faced during your conversion work. Also, do not hesitate to let us know if I have missed anything that should have been covered here. Good day!

Mehedi Hasan
Mehedi Hasan
Mehedi Hasan is a passionate enthusiast for technology. He admires all things tech and loves to help others understand the fundamentals of Linux, servers, networking, and computer security in an understandable way without overwhelming beginners. His articles are carefully crafted with this goal in mind - making complex topics more accessible.

You May Like It!

Trending Now