Skip to content

Merging PDFs using PHP and ghostscript

Last updated on December 2, 2022

In this post, We will show you how you can use Ghostscript with PHP to merge multiple PDF files into a single file. Using Ghostscript, it is possible to merge multiple PDF files into a single PDF file with a single command from your terminal or command line.

Install Ghostscript

Type the command sudo apt-get install Ghostscript to download and install the Ghostscript package and all of the packages it depends on.

Merging PDFs with Ghostscript

Here is the Ghostscript command to merge two are more PDFs in a single file:

$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=merged_file.pdf -dBATCH file_1.pdf file_2.pdf

In the above command, we are merging two Pdf files called file_1.pdf and file_2.pdf files into a single Pdf file called merged_file.pdf.

NOTE: The order of the input files matters and determines the merging order in the final PDF.

Merging PDFs with Ghostscript / PHP

We can run the preceding gs command with PHP’s shell_exec() function and we can also pass the filenames to it. Below is the sample PHP script:

function merge_pdfs($pdf_files,$output_file) {
  $pdf_files = implode(" ",$pdf_files);
  return shell_exec("gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=$output_file -dBATCH $pdf_files");
}
0 0 votes
Article Rating
Subscribe
Notify of
guest

2 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments