PDF 是一种理想的文件共享和存档的格式。在处理文本文件时,将其转换为 PDF 文件可以增强文件的便携性、安全性,且能更好的保留文件的板式、外观等。在本文中,您将学习如何使用 Spire.PDF for Python 在 Python 中将 TXT 文件转换为 PDF。
安装 Spire.PDF for Python
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不清楚如何安装,请参考: 如何在 Windows 中安装 Spire.PDF for Python
Python 将 TXT 转换为 PDF
Spire.PDF for Python 可通过读取输入 TXT 文件中的文本内容,然后将其绘制到 PDF 文档的页面上,从而将文本文件转换为 PDF。下面列出了一些使用到的核心类和方法:
- PdfDocument 类: 代表 PDF 文档。
- PdfTextWidget 类: 代表文本区域,可跨越多个页面。
- File.ReadAllText() 方法: 将文本文件中的文本读入字符串对象。
- PdfDocument.Pages.Add() 方法:在 PDF 文档中添加页面。
- PdfTextWidget.Draw() 方法: 在页面指定位置绘制文本。
以下是使用 Python 将 TXT 文本文件转换为 PDF 的详细步骤:
- 使用 File.ReadAllText() 方法从 TXT 文件中读取文本。
- 创建 PdfDocument 实例并向 PDF 文件添加页面。
- 创建 PDF 字体和笔刷。
- 设置文本格式和布局。
- 创建一个 PdfTextWidget 对象来保存文本内容。
- 使用 PdfTextWidget.Draw() 方法在 PDF 页面的指定位置绘制文本。
- 使用 PdfDocument.SaveToFile() 方法保存 PDF 文件。
- Python
from spire.pdf.common import *
from spire.pdf import *
def ReadFromTxt(fname: str) -> str:
with open(fname, 'r', encoding='utf-8') as f:
text = f.read()
return text
inputFile = "文本.txt"
outputFile = "Text转Pdf.pdf"
# 获取txt文件中的文本
text = ReadFromTxt(inputFile)
# 创建PdfDocument对象
pdf = PdfDocument()
# 添加一页
page = pdf.Pages.Add()
# 创建PDF字体和笔刷
font = PdfTrueTypeFont("宋体", 12.0, PdfFontStyle.Regular, True)
brush = PdfBrushes.get_Black()
# 设置文本对齐方式和行距
strformat = PdfStringFormat()
strformat.LineSpacing = 10.0
strformat.Alignment = PdfTextAlignment.Justify
# 设置文本版式
textLayout = PdfTextLayout()
textLayout.Break = PdfLayoutBreakType.FitPage
textLayout.Layout = PdfLayoutType.Paginate
# 创建一个PdfTextWidget实例来保存文本内容
textWidget = PdfTextWidget(text, font, brush)
# 设置文本样式
textWidget.StringFormat = strformat
# 在页面指定位置绘制文字
bounds = RectangleF(PointF(0.0, 20.0), page.Canvas.ClientSize)
textWidget.Draw(page, bounds, textLayout)
# 保存结果文件
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。