Convert Text and Text File to PDF using Python

PDFs are one of the most important and widely used digital media. PDF stands for Portable Document Format. It uses .pdf extension. It is used to present and exchange documents reliably, independent of software, hardware, or operating system. Converting a given text or a text file to PDF (Portable Document Format) is one of the basic requirements in various projects that we do in real life. So, if you don’t know how to convert a given text to PDF then this article is for you. In this article, you will come to know the way to convert text and text file to PDF in Python.

FPDF is a Python class that allows generating PDF files with Python code. It is free to use and it does not require any API keys. FPDF stands for Free PDF. It means that any kind of modification can be done in PDF files.

The main features of this class are:

  • Easy to use
  • It allows page format and margin
  • It allows to manage page header and footer
  • Python 2.5 to 3.7 support
  • Unicode (UTF-8) TrueType font subset embedding
  • Barcode I2of5 and code39, QR code coming soon …
  • PNG, GIF and JPG support (including transparency and alpha channel)
  • Templates with a visual designer & basic html2pdf
  • Exceptions support, other minor fixes, improvements and PEP8 code cleanups

To install the fpdf module type the belwo command in the terminal.

pip install fpdf

Approach:



  1. Import the class FPDF from module fpdf
  2. Add a page
  3. Set the font
  4. Insert a cell and provide the text
  5. Save the pdf with “.pdf” extencsion

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to create
# a pdf file
  
  
from fpdf import FPDF
  
  
# save FPDF() class into a 
# variable pdf
pdf = FPDF()
  
# Add a page
pdf.add_page()
  
# set style and size of font 
# that you want in the pdf
pdf.set_font("Arial", size = 15)
  
# create a cell
pdf.cell(200, 10, txt = "GeeksforGeeks"
         ln = 1, align = 'C')
  
# add another cell
pdf.cell(200, 10, txt = "A Computer Science portal for geeks.",
         ln = 2, align = 'C')
  
# save the pdf with name .pdf
pdf.output("GFG.pdf")   

chevron_right


Output:

python fpdf

Converting text file to PDF

Now if we want to make the above program more advance what we can do is that from a given text file extract the data using file handling and then insert it into the pdf file. The approach is all same as above, one thing you have to do is extract the data from a text file using file handling.

Note: Refer this article to know more about file handling in Python.

Example: Let’s suppose the text file looks like this –

python-fpdf-text-file

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to convert
# text file to pdf file
  
  
from fpdf import FPDF
   
# save FPDF() class into 
# a variable pdf
pdf = FPDF()   
   
# Add a page
pdf.add_page()
   
# set style and size of font 
# that you want in the pdf
pdf.set_font("Arial", size = 15)
  
# open the text file in read mode
f = open("myfile.txt", "r")
  
# insert the texts in pdf
for x in f:
    pdf.cell(200, 10, txt = x, ln = 1, align = 'C')
   
# save the pdf with name .pdf
pdf.output("mygfg.pdf")   

chevron_right


Output:

python-fpdf

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up

Possess good Mathematical and Statistical Foundation Data Science Enthusiast Addicted to Python

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.