Python實現(xiàn)讀取文本文件并轉(zhuǎn)換為pdf
文本文件因其輕便、易編輯的優(yōu)勢,常用于日常文字記錄與數(shù)據(jù)交換;而PDF文檔則以高保真、格式穩(wěn)定和良好的閱讀體驗,成為正式報告、文獻發(fā)布等場景的首選。將文本文件轉(zhuǎn)為PDF,在PDF內(nèi)精準(zhǔn)繪制文本,旨在兼顧內(nèi)容的規(guī)范呈現(xiàn)與個性化布局,適應(yīng)不同場合對文檔格式的特定要求。本文將將介紹如何使用Python簡便快捷地完成TXT文件到PDF文檔的轉(zhuǎn)換,滿足多樣化的文檔處理需求。
本文所使用的方法需要用到Spire.PDF for Python,PyPI:pip install Spire.PDF。
用Python讀取文本文件并轉(zhuǎn)換為PDF文檔
文本文件到PDF文檔的轉(zhuǎn)換可以通過讀取文本,并將文本內(nèi)容繪制在PDF頁面上來實現(xiàn)。由于文本文件不儲存格式信息,因為,我們可以在繪制時對文本格式進行自定義,使生成的PDF文檔更符合我們的需求。
在讀取和繪制過程中需要用到的主要類和方法:
- PdfDocument 類: 代表 PDF 文檔模型
- PdfTextWidget 類: 代表能跨越多個頁面的文本區(qū)域。
- PdfDocument.Pages.Add() 方法: 向 PDF 文檔添加頁面。
- PdfTextWidget.Draw() 方法: 在頁面指定位置繪制文本部件。
以下是將文本文件內(nèi)容繪制在PDF頁面上的操作步驟:
- 導(dǎo)入所需模塊。
- 使用 File.ReadAllText() 方法從 TXT 文件中讀取文本。
- 創(chuàng)建 PdfDocument 實例并向 PDF 文件添加頁面。
- 創(chuàng)建 PDF 字體和筆刷對象。
- 設(shè)置文本格式和布局。
- 創(chuàng)建一個 PdfTextWidget 對象來保存文本內(nèi)容。
- 使用 PdfTextWidget.Draw() 方法在PDF頁面的指定位置繪制文本部件。
- 使用 PdfDocument.SaveToFile() 方法保存 PDF 文件。
- 釋放資源。
代碼示例:
from spire.pdf.common import *
from spire.pdf import *
inputFile = "G:/文檔/示例.txt"
outputFile = "output/文本文件轉(zhuǎn)PDF.pdf"
# 從txt文件中獲取文本
with open(inputFile, "r", encoding="utf-8") as f:
text = f.read()
# 創(chuàng)建PdfDocument實例
pdf = PdfDocument()
# 添加一頁
page = pdf.Pages.Add()
# 創(chuàng)建PDF字體和PDF畫刷
font = PdfTrueTypeFont("HarmonyOS Sans SC", 12.0, 0, True)
brush = PdfBrushes.get_Brown()
# 設(shè)置文本對齊方式和行間距
strformat = PdfStringFormat()
strformat.LineSpacing = 10.0
strformat.Alignment = PdfTextAlignment.Justify
# 設(shè)置文本布局
textLayout = PdfTextLayout()
textLayout.Break = PdfLayoutBreakType.FitPage
textLayout.Layout = PdfLayoutType.Paginate
# 創(chuàng)建PdfTextWidget實例來保存文本內(nèi)容
textWidget = PdfTextWidget(text, font, brush)
# 設(shè)置文本格式
textWidget.StringFormat = strformat
# 在頁面上指定位置繪制文本
bounds = RectangleF(PointF(0.0, 20.0), page.Canvas.ClientSize)
textWidget.Draw(page, bounds, textLayout)
# 保存結(jié)果文件
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()
結(jié)果文檔:

到此這篇關(guān)于Python實現(xiàn)讀取文本文件并轉(zhuǎn)換為pdf的文章就介紹到這了,更多相關(guān)Python文本轉(zhuǎn)pdf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)據(jù)結(jié)構(gòu)之線性表的順序存儲結(jié)構(gòu)
這篇文章主要為大家詳細介紹了python數(shù)據(jù)結(jié)構(gòu)之線性表的順序存儲結(jié)構(gòu),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
解決torch.autograd.backward中的參數(shù)問題
今天小編就為大家分享一篇解決torch.autograd.backward中的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python合并多個Excel文件的方法實現(xiàn)與對比
在日常工作中,處理多個 Excel 文件并將它們合并為一個文件,本文將介紹兩種使用 Python 合并 Excel 文件的方法,文中的示例代碼講解詳細, 感興趣的小伙伴可以了解下2026-01-01
python庫lxml在linux和WIN系統(tǒng)下的安裝
這篇內(nèi)容我們給大家分享了lxml在WIN和LINUX系統(tǒng)下的簡單快速安裝過程,有興趣的朋友參考學(xué)習(xí)下。2018-06-06
pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)
這篇文章主要介紹了pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

