文本文件因其轻便、易编辑的优势,常用于日常文字记录与数据交换;而PDF文档则以高保真、格式稳定和良好的阅读体验,成为正式报告、文献发布等场景的首选。将文本文件转为PDF,在PDF内精准绘制文本,旨在兼顾内容的规范呈现与个性化布局,适应不同场合对文档格式的特定要求。本文将将介绍如何使用Python简便快捷地完成TXT文件到PDF文档的转换,满足多样化的文档处理需求。
文章目录
本文所使用的方法需要用到Spire.PDF for Python,PyPI:pip install Spire.PDF
。
用Python读取文本文件并转换为PDF文档
文本文件到PDF文档的转换可以通过读取文本,并将文本内容绘制在PDF页面上来实现。由于文本文件不储存格式信息,因为,我们可以在绘制时对文本格式进行自定义,使生成的PDF文档更符合我们的需求。
在读取和绘制过程中需要用到的主要类和方法:
- PdfDocument 类: 代表 PDF 文档模型
- PdfTextWidget 类: 代表能跨越多个页面的文本区域。
- PdfDocument.Pages.Add() 方法: 向 PDF 文档添加页面。
- PdfTextWidget.Draw() 方法: 在页面指定位置绘制文本部件。
以下是将文本文件内容绘制在PDF页面上的操作步骤:
- 导入所需模块。
- 使用 File.ReadAllText() 方法从 TXT 文件中读取文本。
- 创建 PdfDocument 实例并向 PDF 文件添加页面。
- 创建 PDF 字体和笔刷对象。
- 设置文本格式和布局。
- 创建一个 PdfTextWidget 对象来保存文本内容。
- 使用 PdfTextWidget.Draw() 方法在PDF页面的指定位置绘制文本部件。
- 使用 PdfDocument.SaveToFile() 方法保存 PDF 文件。
- 释放资源。
代码示例:
python
from spire.pdf.common import *
from spire.pdf import *
inputFile = "G:/文档/示例.txt"
outputFile = "output/文本文件转PDF.pdf"
# 从txt文件中获取文本
with open(inputFile, "r", encoding="utf-8") as f:
text = f.read()
# 创建PdfDocument实例
pdf = PdfDocument()
# 添加一页
page = pdf.Pages.Add()
# 创建PDF字体和PDF画刷
font = PdfTrueTypeFont("HarmonyOS Sans SC", 12.0, 0, True)
brush = PdfBrushes.get_Brown()
# 设置文本对齐方式和行间距
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()
结果文档:
本文介绍了如何使用Python将TXT文本文件转换为PDF文档,通过读取文本内容并将文本内容绘制在新建的PDF文档页面上来实现。
更多PDF文档转换及操作技巧请前往Spire.PDF for Python教程查看。