最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)將TXT轉(zhuǎn)換為PDF并自動分頁

 更新時間:2026年02月27日 15:10:36   作者:LSTM97  
在日常工作中,我們經(jīng)常需要將純文本文件(TXT)轉(zhuǎn)換為更通用、更便于分享的PDF格式,下面我們就來看看如何使用 Spire.PDF for Python 庫,輕松實現(xiàn)TXT到PDF的轉(zhuǎn)換,并支持自動分頁功能吧

在日常工作中,我們經(jīng)常需要將純文本文件(TXT)轉(zhuǎn)換為更通用、更便于分享的PDF格式。雖然手動復(fù)制粘貼可以完成這個任務(wù),但遇到大文件時,手動分頁和排版就會變得非常繁瑣。今天,我將介紹如何使用 Spire.PDF for Python 庫,輕松實現(xiàn)TXT到PDF的轉(zhuǎn)換,并支持自動分頁功能。

Spire.PDF for Python 簡介

Spire.PDF for Python 是一款專業(yè)的Python庫,用于在Python應(yīng)用程序中創(chuàng)建、操作和轉(zhuǎn)換PDF文檔。它提供了豐富的API,讓開發(fā)者可以輕松地添加文本、圖像、表格等元素到PDF中,并支持各種高級功能如加密、合并、拆分PDF等。最重要的是,它支持自動分頁功能,可以處理大量文本內(nèi)容的排版。

安裝非常簡單,只需使用pip命令:

pip install Spire.PDF

實現(xiàn)代碼

下面是完整的Python代碼,實現(xiàn)了從TXT文件讀取內(nèi)容并轉(zhuǎn)換為PDF的功能:

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

def ReadFromTxt(fname: str) -> str:
    """讀取TXT文件內(nèi)容"""
    with open(fname, 'r') as f:
        text = f.read()
    return text

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

# 從TXT文件獲取文本
text = ReadFromTxt(inputFile)

# 創(chuàng)建PdfDocument實例
pdf = PdfDocument()

# 添加一個頁面 (默認有40磅頁邊距)
page = pdf.Pages.Add()

# 創(chuàng)建PDF字體和畫筆
font = PdfFont(PdfFontFamily.TimesRoman, 11.0)
brush = PdfBrushes.get_Black()

# 設(shè)置文本對齊方式和行間距
strformat = PdfStringFormat()
strformat.LineSpacing = 10.0
strformat.Alignment = PdfTextAlignment.Justify

# 設(shè)置文本布局(關(guān)鍵:自動分頁)
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, 0.0), page.Canvas.ClientSize)
textWidget.Draw(page, bounds, textLayout)

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

代碼解析

文本讀取

ReadFromTxt 函數(shù)負責讀取TXT文件的所有內(nèi)容,以字符串形式返回。

PDF文檔創(chuàng)建

創(chuàng)建一個 PdfDocument 實例,并添加一個初始頁面。

字體和格式設(shè)置

  • 使用 TimesRoman 字體,字號11
  • 設(shè)置行間距為10.0
  • 文本對齊方式為兩端對齊

自動分頁的關(guān)鍵設(shè)置

這是實現(xiàn)自動分頁的核心部分:

  • PdfLayoutBreakType.FitPage:當內(nèi)容超出頁面范圍時自動換頁
  • PdfLayoutType.Paginate:啟用分頁布局模式

使用PdfTextWidget

PdfTextWidget 是一個強大的文本容器,它可以自動處理長文本的分頁問題。我們只需要指定初始的繪制區(qū)域,它會自動判斷是否需要創(chuàng)建新頁面來容納剩余內(nèi)容。

繪制和保存

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

優(yōu)勢特點

  • 完全自動化 :無需手動計算每頁可容納的文字數(shù)量
  • 保持格式 :支持設(shè)置字體、字號、行間距等格式
  • 靈活性強 :可以自定義頁面邊距和起始位置
  • 處理大文件 :即使是非常長的文本文件也能輕松處理

總結(jié)

使用 Spire.PDF for Python 庫,我們只需要幾十行代碼就能實現(xiàn)一個功能完善的TXT轉(zhuǎn)PDF工具。它不僅支持基本的格式設(shè)置,更重要的是內(nèi)置了自動分頁功能,大大簡化了開發(fā)工作。無論是處理簡單的筆記文件,還是轉(zhuǎn)換大量的文檔資料,這個工具都能勝任。

如果你經(jīng)常需要處理文本到PDF的轉(zhuǎn)換,不妨試試這個方案,相信它能為你節(jié)省不少時間!

到此這篇關(guān)于Python實現(xiàn)將TXT轉(zhuǎn)換為PDF并自動分頁的文章就介紹到這了,更多相關(guān)Python TXT轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python數(shù)學模塊(math/decimal模塊)

    python數(shù)學模塊(math/decimal模塊)

    這篇文章主要介紹了python數(shù)學模塊(math/decimal模塊),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 基于Python編寫一個基于插件架構(gòu)的圖片瀏覽器

    基于Python編寫一個基于插件架構(gòu)的圖片瀏覽器

    這篇文章主要為大家詳細介紹了如何使用Python開發(fā)一個基于插件架構(gòu)的圖片瀏覽器,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • 淺談python新式類和舊式類區(qū)別

    淺談python新式類和舊式類區(qū)別

    python的新式類是2.2版本引進來的,我們可以將之前的類叫做經(jīng)典類或者舊式類。這篇文章主要介紹了淺談python新式類和舊式類區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python的變量命名規(guī)范和數(shù)據(jù)類型轉(zhuǎn)換詳解

    Python的變量命名規(guī)范和數(shù)據(jù)類型轉(zhuǎn)換詳解

    文章主要介紹了Python的變量命名規(guī)則和數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串、布爾值和空值類型,此外,文章還闡述了不同類型之間的轉(zhuǎn)換方法,如將浮點數(shù)轉(zhuǎn)換為整數(shù)、將字符串轉(zhuǎn)換為數(shù)字類型或布爾值等,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • Python模塊Uvicorn實戰(zhàn)

    Python模塊Uvicorn實戰(zhàn)

    這篇文章主要介紹了Python模塊Uvicorn實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 三分鐘熟練使用Python的os.path.join()

    三分鐘熟練使用Python的os.path.join()

    在Python中os.path.join()函數(shù)用于將多個路徑組合成一個路徑,下面這篇文章主要給大家介紹了關(guān)于熟練使用Python的os.path.join()的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 解決jupyter notebook啟動后沒有token的坑

    解決jupyter notebook啟動后沒有token的坑

    這篇文章主要介紹了解決jupyter notebook啟動后沒有token的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python使用標準庫根據(jù)進程名如何獲取進程的pid詳解

    python使用標準庫根據(jù)進程名如何獲取進程的pid詳解

    Python有一套很有用的標準庫(standard library)。標準庫會隨著Python解釋器,一起安裝在你的電腦中的,所以下面這篇文章主要給大家介紹了關(guān)于python使用標準庫根據(jù)進程名如何獲取進程pid的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • Python實現(xiàn)獲取網(wǎng)頁信息并解析

    Python實現(xiàn)獲取網(wǎng)頁信息并解析

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)獲取網(wǎng)頁信息并解析功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-05-05
  • Python的Django框架中的數(shù)據(jù)過濾功能

    Python的Django框架中的數(shù)據(jù)過濾功能

    這篇文章主要介紹了Python的Django框架中的數(shù)據(jù)過濾功能,為更新數(shù)據(jù)庫數(shù)據(jù)時的數(shù)據(jù)查找提供了方便,需要的朋友可以參考下
    2015-07-07

最新評論

北京市| 鹰潭市| 绩溪县| 湾仔区| 靖宇县| 彭州市| 隆林| 达尔| 肃北| 磐安县| 武安市| 扎鲁特旗| 太康县| 连云港市| 娄烦县| 大方县| 沐川县| 邯郸县| 郑州市| 北碚区| 翼城县| 巴青县| 扶绥县| 巩留县| 荣昌县| 潮州市| 郴州市| 湖州市| 霍林郭勒市| 永和县| 铁岭县| 穆棱市| 汤原县| 工布江达县| 惠州市| 平利县| 桃江县| 班玛县| 宁城县| 贡觉县| 峨眉山市|