Modifying PDF file using Python
Last Updated :
18 May, 2022
The following article depicts how a PDF can be modified using python's pylovepdf module. The Portable Document Format(PDF) is a file format developed by Adobe in 1993 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems.
pylovepdf module can be downloaded using pip command:
pip install pylovepdf
The iLovePDF API i.e 'pylovepdf' module is organized around REST. Their API are predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. They use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. They support cross-origin resource sharing, allowing you to interact securely with their API from a client-side web application. With this API we can compress the PDF files, also can add watermark, convert them to images and even split them and vice -versa and lots of other stuff.
In order to do so first we need a public-key to use this module, for that login on to https://developer.ilovepdf.com/ and after login the public key will be visible in the 'My Projects' section. Below is the screenshot of the public key

Now since we have our public key, we can use this API for modifying any PDF file using the steps given below:
- 1. Creating a ILovePdf object using the public key
- 2. Uploading the PDF file
- 3. Processing the PDF file
- 4. Downloading the PDF file
Implementation of this module is depicted properly using examples. Click here for the PDF used in the examples provided in this article:
Example 1: Compressing the PDF file
Python3
# importing the ilovepdf api
from pylovepdf.ilovepdf import ILovePdf
# public key
public_key = 'paste_your_public_key_here'
# creating a ILovePdf object
ilovepdf = ILovePdf(public_key, verify_ssl=True)
# assigning a new compress task
task = ilovepdf.new_task('compress')
# adding the pdf file to the task
task.add_file('my_pdf.pdf')
# setting the output folder directory
# if no folder exist it will create one
task.set_output_folder('output_folder')
# execute the task
task.execute()
# download the task
task.download()
# delete the task
task.delete_current_task()
Before processing:

Output :

After Processing:

Example 2: Splitting the PDF
Python
# public key
from pylovepdf.ilovepdf import ILovePdf
public_key = 'paste your code here'
# importing the ilovepdf api
# creating a ILovePdf object
ilovepdf = ILovePdf(public_key, verify_ssl=True)
# assigning a new split task
task = ilovepdf.new_task('split')
# adding the pdf file to the task
task.add_file('my_pdf.pdf')
# setting the output folder directory
# if no folder exist it will create one
task.set_output_folder('output_folder')
# execute the task
task.execute()
# download the task
task.download()
# delete the task
task.delete_current_task()
Output :

After processing:
zip
Similar Reads
Setting file offsets in Python Prerequisite: seek(), tell() Python makes it extremely easy to create/edit text files with a minimal amount of code required. To access a text file we have to create a filehandle that will make an offset at the beginning of the text file. Simply said, offset is the position of the read/write pointer
4 min read
Modify XML files with Python Python|Modifying/Parsing XMLÂ Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.The design goals of XML focus on simplicity, generality, and usability across the Internet.It is a textua
4 min read
Writing to file in Python Writing to a file in Python means saving data generated by your program into a file on your system. This article will cover the how to write to files in Python in detail.Creating a FileCreating a file is the first step before writing data to it. In Python, we can create a file using the following th
4 min read
File Mode in Python In Python, the file mode specifies the purpose and the operations that can be performed on a file when it is opened. When you open a file using the open() function, you can specify the file mode as the second argument. Different File Mode in PythonBelow are the different types of file modes in Pytho
5 min read
File Handling in Python File handling refers to the process of performing operations on a file such as creating, opening, reading, writing and closing it, through a programming interface. It involves managing the data flow between the program and the file system on the storage device, ensuring that data is handled safely a
7 min read
File Handling in Python File handling refers to the process of performing operations on a file such as creating, opening, reading, writing and closing it, through a programming interface. It involves managing the data flow between the program and the file system on the storage device, ensuring that data is handled safely a
7 min read