使用Python将文本和文本文件转换为 PDF
PDF 是最重要和最广泛使用的数字媒体之一。 PDF 代表可移植文档格式。它使用.pdf
扩展名。它用于可靠地呈现和交换文档,独立于软件、硬件或操作系统。将给定的文本或文本文件转换为 PDF(便携式文档格式)是我们在现实生活中所做的各种项目的基本要求之一。因此,如果您不知道如何将给定文本转换为 PDF,那么本文适合您。在本文中,您将了解在Python中将文本和文本文件转换为 PDF 的方法。
FPDF
是一个Python类,允许使用Python代码生成 PDF 文件。它是免费使用的,并且不需要任何 API 密钥。 FPDF 代表免费 PDF。这意味着可以在 PDF 文件中进行任何类型的修改。
这个类的主要特点是:
- 便于使用
- 它允许页面格式和边距
- 它允许管理页眉和页脚
- Python 2.5 到 3.7 支持
- Unicode (UTF-8) TrueType 字体子集嵌入
- 条码 I2of5 和 code39,二维码即将推出……
- PNG、GIF 和 JPG 支持(包括透明度和 Alpha 通道)
- 带有视觉设计师和基本 html2pdf 的模板
- 异常支持、其他小修复、改进和 PEP8 代码清理
要安装 fpdf 模块,请在终端中输入以下命令。
pip install fpdf
方法:
- 从模块 fpdf 导入类 FPDF
- 添加页面
- 设置字体
- 插入一个单元格并提供文本
- 使用“.pdf”扩展名保存 pdf
例子:
Python3
# 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")
Python3
# 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")
输出:
将文本文件转换为 PDF
现在,如果我们想让上述程序更先进,我们可以做的是从给定的文本文件中使用文件处理提取数据,然后将其插入到 pdf 文件中。该方法与上述相同,您必须做的一件事是使用文件处理从文本文件中提取数据。
注意:请参阅本文以了解有关Python中文件处理的更多信息。
示例:假设文本文件如下所示 -
Python3
# 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")
输出: