文本文件因其轻便、易编辑的优势,常用于日常文字记录与数据交换;而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 文件。
- 释放资源。
代码示例:
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()
结果文档:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)