Modifying PDF file using Python
Last Updated :
23 Jul, 2025
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://www.iloveapi.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
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 When working with files in Python, the file mode tells Python what kind of operations (read, write, etc.) you want to perform on the file. You specify the mode as the second argument to the open() function.Different File Mode in PythonBelow are the different types of file modes in Python along with
4 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
4 min read