- How to merge PDF documents using Python
- Prerequisites
- Install PyPDF2 using Pip
- Merging Pdf Documents inside a Subfolder
- Create the Python script to merge PDF documents
- Python’s code to extract all the files under the Parent_folder
- Python’s code to Merge the PDF documents
- Complete code to merge PDFs in Python
- Conclusions
- Объединение нескольких PDF-файлов в Python
- Библиотека Python для слияния файлов PDF#
- Объединение PDF-файлов в Python#
- Объединение нескольких PDF-файлов онлайн#
- Бесплатная библиотека Python для слияния PDF#
- Заключение#
- Смотрите также#
- Merge PDF Files using Python
- Merge two PDF files using Python
- Merge many PDF files using Python
- Conclusion
How to merge PDF documents using Python
It’s easy to merge PDF documents using Python code, if you use the right tools!
Nowadays PDF format is the most popular file format to share documents on the internet. Many software is available to manage PDF documents, but when you need to perform some easy task on them, it is not so easy to find the best one to use. One example is merging multiple PDF files into one file.
In this guide, we will show how you can merge many PDF documents into one file using a simple Python script. In particular, to merge two PDF documents in Python we need to:
Let’s now see in the following sections how to do it in more details.
Prerequisites
First, we need to make sure that our development environment meets all the minimum requirements we need. In particular, we should already have installed:
After we met all the minimum requirements, we can move on to the next steps.
Install PyPDF2 using Pip
In Python, there are different libraries that allow us to manipulate PDF documents, and some of them are pretty complex to use. In this guide, we use PyPDF2, which is a simple Python library that we can use also to merge multiple PDF documents.
We can use Pip, the Python’s package installer, to install PyPDF2. To do so, we simply need to run the following command:
python3 -m pip install PyPdf2==1.26.0
Merging Pdf Documents inside a Subfolder
When you have to merge lots of PDF documents, it is really annoying to pass all the absolute paths of the files. So, to save time in coding the paths we can just put all the PDF files in a parent directory, and then Python will handle automatically all the paths of the PDF files for us.
To do so, make sure your project structure looks like this:
\main.py \parent_folder \folder_1 file_1.pdf file_2.pdf \folder_2 file_3.pdf \folder_3 \folder_4 file_4.pdf file_5.pdf file_6.pdf
Note that all the PDF files should be inside the \parent_folder .
Create the Python script to merge PDF documents
After setting up the environment, it’s finally time to code our script.
Python’s code to extract all the files under the Parent_folder
To get all the paths of the PDF files under the parent folder we can just use the following code:
import os # pass the path of the parent_folder def fetch_all_files(parent_folder: str): target_files = [] for path, subdirs, files in os.walk(parent_folder): for name in files: target_files.append(os.path.join(path, name)) return target_files # get a list of all the paths of the pdf extracted_files = fetch_all_files('./parent_folder')
Basically, we use the fetch_all_files function to recursively find all PDF files located into the parent_folder and it’s subfolders.
Python’s code to Merge the PDF documents
Now that we have the list of all the PDF files paths, we can use the following code to merge them into a unique PDF file:
from PyPDF2 import PdfFileMerger # pass the path of the output final file.pdf and the list of paths def merge_pdf(out_path: str, extracted_files: list [str]): merger = PdfFileMerger() for pdf in extracted_files: merger.append(pdf) merger.write(out_path) merger.close() merge_pdf('./final.pdf', extracted_files)
Complete code to merge PDFs in Python
Simple as that! We can now put all the final code in a ./main.py file:
#main.py import os from PyPDF2 import PdfFileMerger # pass the path of the parent_folder def fetch_all_files(parent_folder: str): target_files = [] for path, subdirs, files in os.walk(parent_folder): for name in files: target_files.append(os.path.join(path, name)) return target_files # pass the path of the output final file.pdf and the list of paths def merge_pdf(out_path: str, extracted_files: list [str]): merger = PdfFileMerger() for pdf in extracted_files: merger.append(pdf) merger.write(out_path) merger.close() # get a list of all the paths of the pdf parent_folder_path = './parent_folder' outup_pdf_path = './final.pdf' extracted_files = fetch_all_files(parent_folder_path) merge_pdf(outup_pdf_path, extracted_files)
To run the script, you just need to type python3 main.py in your terminal!
Conclusions
In this article, we have learned to merge different PDF files into a unique PDF using Python code. We used the simple Python library PyPDF2 to manipulate the PDFs and we wrote some code to collect multiple PDFs paths under different subfolders.
For more details about what you can do with PyPDF2, you can check its official documentation:
Объединение нескольких PDF-файлов в Python
Если вы часто работаете с PDF-файлами программно, вы можете столкнуться с ситуацией, когда вам нужно объединить несколько PDF-файлов в один документ. Например, чтобы объединить документы одного типа, создайте один PDF-файл перед совместным использованием и т. д. В этой статье вы узнаете, как объединять PDF-файлы в Python. В конечном итоге вы сможете без проблем объединить два или более PDF-файла.
Библиотека Python для слияния файлов PDF#
Чтобы объединить PDF-файлы, мы будем использовать Aspose.PDF for Python. Это мощная библиотека, упрощающая обработку, манипулирование, разделение и слияние PDF-файлов. Вы можете установить его в свои приложения Python, используя следующую команду pip.
Объединение PDF-файлов в Python#
Ниже приведены шаги по объединению нескольких PDF-файлов в один PDF-файл в Python.
- Создайте экземпляр класса PdfFileEditor.
- Создайте массив для хранения путей к файлам PDF.
- Объедините PDF-файлы в один PDF-файл, используя метод PdfFileEditor.concatenate().
В следующем примере кода показано, как объединить два или более PDF-файла в Python.
import aspose.pdf as pdf # Создать объект PdfFileEditor pdfFileEditor = pdf.facades.PdfFileEditor() # Создать массив pdffiles = [] # Добавить пути к файлам PDF pdffiles.append('1.pdf') pdffiles.append('2.pdf') pdffiles.append('3.pdf') # Объединить PDF-файлы pdfFileEditor.concatenate(pdffiles, "merged.pdf")
Объединение нескольких PDF-файлов онлайн#
Вы также можете использовать наш бесплатный онлайн-инструмент для объединения файлов PDF, основанный на Aspose.PDF for Python.
Бесплатная библиотека Python для слияния PDF#
Вы можете получить бесплатную временную лицензию и объединять файлы PDF без каких-либо ограничений. Кроме того, вы можете узнать больше о библиотеке Python PDF, используя документацию.
Заключение#
В этой статье вы узнали, как объединять PDF-файлы в Python. Пошаговое руководство и пример кода показали, как объединить два или более PDF-файла за пару шагов. Вы можете легко установить Aspose.PDF for Python и использовать предоставленный образец кода для объединения файлов PDF в своих приложениях.
Смотрите также#
Merge PDF Files using Python
In this tutorial we will explore how to merge PDF files using Python.
Table of Contents
Merge two PDF files using Python
In order to perform PDF merging in Python we will need to import the PdfFileMerger() class from the PyPDF2 library, and create an instance of this class.
In this example we will merge two files: sample_page1.pdf and sample_page2.pdf.
In this case, the two file paths can be placed into a list, which we will then iterate over and append one to another:
And you should see merged_2_pages.pdf created in the same directory as the main.py file with the code:
Merge many PDF files using Python
In this section we will explore how to merge many PDF files using Python.
One way of merging many PDF files would be to add the file names of every PDF files to a list manually and then perform the same operation as in the previous section.
And you should see merged_all_pages.pdf created in the same directory as the main.py file with the code:
Conclusion
In this article we explored how to merge multiple PDF files using Python.