python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python TXT转PDF

Python实现将TXT转换为PDF并自动分页

作者:LSTM97

在日常工作中,我们经常需要将纯文本文件(TXT)转换为更通用、更便于分享的PDF格式,下面我们就来看看如何使用 Spire.PDF for Python 库,轻松实现TXT到PDF的转换,并支持自动分页功能吧

在日常工作中,我们经常需要将纯文本文件(TXT)转换为更通用、更便于分享的PDF格式。虽然手动复制粘贴可以完成这个任务,但遇到大文件时,手动分页和排版就会变得非常繁琐。今天,我将介绍如何使用 Spire.PDF for Python 库,轻松实现TXT到PDF的转换,并支持自动分页功能。

Spire.PDF for Python 简介

Spire.PDF for Python 是一款专业的Python库,用于在Python应用程序中创建、操作和转换PDF文档。它提供了丰富的API,让开发者可以轻松地添加文本、图像、表格等元素到PDF中,并支持各种高级功能如加密、合并、拆分PDF等。最重要的是,它支持自动分页功能,可以处理大量文本内容的排版。

安装非常简单,只需使用pip命令:

pip install Spire.PDF

实现代码

下面是完整的Python代码,实现了从TXT文件读取内容并转换为PDF的功能:

from spire.pdf.common import *
from spire.pdf import *

def ReadFromTxt(fname: str) -> str:
    """读取TXT文件内容"""
    with open(fname, 'r') as f:
        text = f.read()
    return text

inputFile = "input.txt"
outputFile = "TextToPdf.pdf"

# 从TXT文件获取文本
text = ReadFromTxt(inputFile)

# 创建PdfDocument实例
pdf = PdfDocument()

# 添加一个页面 (默认有40磅页边距)
page = pdf.Pages.Add()

# 创建PDF字体和画笔
font = PdfFont(PdfFontFamily.TimesRoman, 11.0)
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, 0.0), page.Canvas.ClientSize)
textWidget.Draw(page, bounds, textLayout)

# 保存结果文件
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()

代码解析

文本读取

ReadFromTxt 函数负责读取TXT文件的所有内容,以字符串形式返回。

PDF文档创建

创建一个 PdfDocument 实例,并添加一个初始页面。

字体和格式设置

自动分页的关键设置

这是实现自动分页的核心部分:

使用PdfTextWidget

PdfTextWidget 是一个强大的文本容器,它可以自动处理长文本的分页问题。我们只需要指定初始的绘制区域,它会自动判断是否需要创建新页面来容纳剩余内容。

绘制和保存

在指定位置绘制文本后,将PDF保存到文件。

优势特点

总结

使用 Spire.PDF for Python 库,我们只需要几十行代码就能实现一个功能完善的TXT转PDF工具。它不仅支持基本的格式设置,更重要的是内置了自动分页功能,大大简化了开发工作。无论是处理简单的笔记文件,还是转换大量的文档资料,这个工具都能胜任。

如果你经常需要处理文本到PDF的转换,不妨试试这个方案,相信它能为你节省不少时间!

到此这篇关于Python实现将TXT转换为PDF并自动分页的文章就介绍到这了,更多相关Python TXT转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文