How to use the command pdftocairo (with examples)
The pdftocairo command is a tool that allows users to convert PDF files to various image or document formats using the cairo library. It offers flexibility in terms of output formats, quality settings, page range selection, and other options. This article will provide step-by-step examples of how to use the pdftocairo command for different use cases.
Use case 1: Convert a PDF file to JPEG
Code:
pdftocairo path/to/file.pdf -jpeg
Motivation: A common use case is converting a PDF file to a JPEG image, which is a widely supported image format suitable for web and multimedia applications.
Explanation: This command instructs pdftocairo to convert the PDF file located at “path/to/file.pdf” to JPEG format using the -jpeg option.
Example output: The command will generate a JPEG image file with the same name as the input PDF file (e.g., file.jpeg).
Use case 2: Convert to PDF expanding the output to fill the paper
Code:
pdftocairo path/to/file.pdf output.pdf -pdf -expand
Motivation: Sometimes, PDF files may not fill the entire page, leading to undesirable white spaces when printed. This use case aims to expand the PDF content to fill the paper when converting to PDF.
Explanation: By using the -pdf option, pdftocairo converts the PDF file at “path/to/file.pdf” to PDF format. The -expand flag ensures that the output content is expanded to fill the paper.
Example output: The resulting output.pdf file will have the same content as the input file but expanded to fill the entire page.
Use case 3: Convert to SVG specifying the first/last page to convert
Code:
pdftocairo path/to/file.pdf output.svg -svg -f first_page -l last_page
Motivation: Converting a specific range of pages from a PDF file to SVG format allows users to extract specific content for further editing, manipulation, or embedding in web applications.
Explanation: The -f flag specifies the first page to convert, while the -l flag specifies the last page to convert. The resulting SVG files will be named “output.svg”, and they will contain the converted content from the specified page range.
Example output: If the PDF file has 10 pages and we specify -f 2 -l 5, the command will generate four SVG files containing the converted content from pages 2 to 5: output-2.svg, output-3.svg, output-4.svg, and output-5.svg.
Use case 4: Convert to PNG with 200ppi resolution
Code:
pdftocairo path/to/file.pdf output.png -png -r 200
Motivation: When high-quality images are required, specifying the resolution becomes essential. Converting to PNG format with a specific resolution is useful when accurately depicting text or graphics in an image.
Explanation: The -r flag specifies the resolution in pixels per inch (ppi). In this example, the command converts the PDF file at “path/to/file.pdf” to PNG format with a resolution of 200ppi.
Example output: The resulting output.png file will have the same content as the input file but at the specified resolution of 200ppi.
Use case 5: Convert to grayscale TIFF setting paper size to A3
Code:
pdftocairo path/to/file.pdf -tiff -gray -paper A3
Motivation: Some applications require scanned or converted documents to be in grayscale and set to a specific paper size, such as the A3 format commonly used in printing and design.
Explanation: By using the -tiff option, pdftocairo converts the PDF file at “path/to/file.pdf” to TIFF format. The -gray flag specifies that the output should be in grayscale. Additionally, the -paper flag sets the paper size to A3.
Example output: The command generates a grayscale TIFF file with the same name as the input PDF file (e.g., file.tiff), with its content in the A3 paper size.
Use case 6: Convert to PNG cropping x and y pixels from the top-left corner
Code:
pdftocairo path/to/file.pdf -png -x x_pixels -y y_pixels
Motivation: Cropping an image is often necessary to focus on specific areas of interest or remove unwanted elements. This use case crops the output PNG by specifying the number of pixels to remove from the x and y axes starting from the top-left corner.
Explanation: The -x flag specifies the number of pixels to remove from the x-axis, and the -y flag specifies the number of pixels to remove from the y-axis. The resulting PNG file will be cropped by the specified number of pixels from the top-left corner.
Example output: If we use -x 10 -y 20, the command will produce a cropped PNG image file with the content from the PDF file, excluding the top 20 pixels from the y-axis and the leftmost 10 pixels from the x-axis.
Conclusion
The pdftocairo command offers a versatile and powerful solution for converting PDF files to various formats using the cairo library. By providing numerous options, such as output formats, resolution settings, page range selections, and cropping capabilities, users have granular control over the conversion process. Whether you need to convert PDF files to image formats like JPEG and PNG or document formats like PDF and TIFF, pdftocairo is a reliable tool to accomplish these tasks.