Top 10 Programming Languages to Learn in 2019


Creating and Modifying PDF Files in Python: A Comprehensive Guide with Code Examples

PDF (Portable Document Format) files are widely used for document exchange due to their consistent formatting across different devices. Python provides several libraries that allow you to create and modify PDF files programmatically, offering flexibility and customization options. In this article, we will explore how to create and modify PDF files in Python using the PyPDF2 library. We will walk through various scenarios and provide code examples to help you get started.


Before we begin, ensure you have the following prerequisites:

  1. Python: Make sure you have Python installed on your system. PyPDF2 is compatible with both Python 2.7 and Python 3.x versions.
  2. PyPDF2 Library: Install the PyPDF2 library by running the following command:
pip install PyPDF2

Creating a PDF File:

To create a PDF file from scratch, follow these steps:

Step 1: Import the required modules:

import PyPDF2

Step 2: Create a new PDF file object:

pdf = PyPDF2.PdfFileWriter()

Step 3: Add content to the PDF:

pdf.addPage(PyPDF2.PageObject())  # Add a blank page
pdf.addPage(PyPDF2.PageObject())  # Add another blank page

# Customize page content
page = pdf.getPage(0)
page.mergeScaledTranslatedPage(pdf.getPage(1), scale=0.5, tx=100, ty=200)

Step 4: Save the PDF file:

with open('output.pdf', 'wb') as f:

By following these steps, you can create a PDF file with multiple pages and customize their content according to your requirements.

Modifying an Existing PDF File:

To modify an existing PDF file, such as merging multiple PDFs or extracting specific pages, use the following steps:

Step 1: Import the required modules:

import PyPDF2

Step 2: Open the existing PDF file:

with open('input.pdf', 'rb') as f:
    pdf = PyPDF2.PdfFileReader(f)

Step 3: Access and modify the PDF content:

# Extract specific pages
pages_to_extract = [0, 2, 4]
output_pdf = PyPDF2.PdfFileWriter()
for page_number in pages_to_extract:

# Merge multiple PDFs
merge_pdf = PyPDF2.PdfFileReader('merge.pdf')
for page_number in range(merge_pdf.getNumPages()):

Step 4: Save the modified PDF:

with open('output.pdf', 'wb') as f:

By following these steps, you can modify an existing PDF file by extracting specific pages or merging multiple PDFs into a single file.


Python provides powerful libraries like PyPDF2 that enable you to create and modify PDF files programmatically. In this article, we explored the process of creating a PDF file from scratch and modifying existing PDFs. By following the code examples and understanding the basic concepts, you can customize PDFs according to your specific requirements.

Remember, PyPDF2 offers many more features and functionalities, such as adding watermarks, encrypting PDFs, and extracting text from PDF files. Explore the official documentation and experiment with different methods to fully utilize the capabilities of PyPDF2 in your Python projects.

Enjoy the flexibility and convenience of generating and modifying PDF files programmatically with Python.

Related posts
ProgrammingPythonPython Basic Tutorial

Mastering Print Formatting in Python: A Comprehensive Guide


Global Variables in Python: Understanding Usage and Best Practices

ProgrammingPythonPython Basic Tutorial

Secure Your Documents: Encrypting PDF Files Using Python

ProgrammingPythonPython Basic Tutorial

Boosting Python Performance with Cython: Optimizing Prime Number Detection

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.