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

Python自動化辦公之圖片轉(zhuǎn)PDF的實現(xiàn)

 更新時間:2022年04月14日 07:57:03   作者:Python 集中營  
實現(xiàn)圖片轉(zhuǎn)換成PDF文檔的操作方法有很多,綜合對比以后感覺fpdf這個模塊用起來比較方便而且代碼量相當(dāng)少。所以本文將利用Python語言實現(xiàn)圖片轉(zhuǎn)PDF,感興趣的可以了解一下

安裝的方式很常規(guī),直接使用pip安裝就行了。

pip install fpdf

將需要使用的三方模塊導(dǎo)入進來

from fpdf import FPDF  # PDF文檔對象操作庫
import os  # 文件路徑操作庫

初始化PDF文檔對象

PDF = FPDF()

關(guān)閉自動分頁

PDF.set_auto_page_break(0)

設(shè)置需要轉(zhuǎn)換的批量圖片路徑

path = r'C:/imgs'

遍歷圖片到數(shù)組

images = [i for i in os.listdir(path)]

設(shè)置多少張圖片在PDF中占一頁

NUM = int(input('參數(shù)設(shè)置: 請輸入多少張圖片占用一頁: \n'))

設(shè)置圖片的寬度和高度

width = int(input('參數(shù)設(shè)置: 請輸入每張圖片的寬度: \n'))
height = int(input('參數(shù)設(shè)置: 請輸入每張圖片的高度: \n'))

遍歷圖片并向文檔中添加圖片

for index, image in enumerate(images):
    if index == 0:
        PDF.add_page()
    elif index % NUM == 0:
        PDF.add_page()
    PDF.image(os.path.join(path, image), w=width, h=height)

保存PDF文檔

PDF.output(os.path.join(path, "圖片文檔.pdf"), "F")

print('圖片到PDF轉(zhuǎn)換完成!')

實現(xiàn)效果圖

補充

當(dāng)然Python還能實現(xiàn)多張圖片合并轉(zhuǎn)PDF格式

下面是實現(xiàn)的示例代碼

from PIL import Image
import os
import img2pdf

flag = False
while not flag:
    dirname = input("請輸入圖片文件夾所在路徑(例如d:/wlzcool):")
    flag = os.path.exists(dirname)
    if not flag:
        print("圖片文件夾所在路徑不存在!")
saveflag = False
while not saveflag:
    savedirname = input("請輸入目標(biāo)圖片文件夾所在路徑(例如d:/wlzcool2):")
    saveflag = os.path.exists(savedirname)
    if not saveflag:
        print("圖片文件夾所在路徑不存在!")
        automakedir = input("是否自動創(chuàng)建對應(yīng)文件夾?(是Y/否N):")
        if automakedir.strip().upper() == "Y":
            os.makedirs(savedirname)
            saveflag = True
files = os.listdir(dirname)
reductionFactor = int(input("請輸入長寬壓縮比(例如3):"))
if reductionFactor <= 0:
    reductionFactor = 3
isConvertBlack = input("是否輸出黑白版本?(是Y/否N):").strip().upper() == "Y"
for fname in files:
    if not fname.endswith(".jpg"):
        continue
    path = os.path.join(dirname, fname)
    savePath = os.path.join(savedirname, fname)
    if os.path.isdir(path):
        continue
    img = Image.open(path)    
    if img.size[0] > img.size[1]:
        im_rotate = img.rotate(90, expand=True)
        size = (int(im_rotate.size[0] / reductionFactor), int(im_rotate.size[1] / reductionFactor))
        im_rotate = im_rotate.resize(size)
        if isConvertBlack:
            im_rotate = im_rotate.convert("L")
        im_rotate.save(savePath, quality=95)
    else:
        size = (int(img.size[0] / reductionFactor), int(img.size[1] / reductionFactor))
        img = img.resize(size)
        if isConvertBlack:
            img = img.convert("L")
        img.save(savePath, quality=95)
filename = input("請輸入輸出文件名(例如:第一章):")
with open(filename + ".pdf", "wb") as f:
    imgs = []
    files = os.listdir(savedirname)
    for fname in files:
        if not fname.endswith(".jpg"):
            continue
        path = os.path.join(savedirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

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

相關(guān)文章

  • python 列表元素左右循環(huán)移動 的多種解決方案

    python 列表元素左右循環(huán)移動 的多種解決方案

    這篇文章主要介紹了python 列表元素左右循環(huán)移動 的多種解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 下載安裝好python后想查看python安裝位置的幾種方法

    下載安裝好python后想查看python安裝位置的幾種方法

    這篇文章主要介紹了在Windows系統(tǒng)中查看Python路徑和版本的幾種方法,并提供了一個清除命令行窗口的技巧,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • python使用標(biāo)準(zhǔn)庫根據(jù)進程名如何獲取進程的pid詳解

    python使用標(biāo)準(zhǔn)庫根據(jù)進程名如何獲取進程的pid詳解

    Python有一套很有用的標(biāo)準(zhǔn)庫(standard library)。標(biāo)準(zhǔn)庫會隨著Python解釋器,一起安裝在你的電腦中的,所以下面這篇文章主要給大家介紹了關(guān)于python使用標(biāo)準(zhǔn)庫根據(jù)進程名如何獲取進程pid的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • Python hasattr函數(shù)的具體使用

    Python hasattr函數(shù)的具體使用

    本文主要介紹了Python hasattr函數(shù)的具體使用,包括基本用法、返回值、應(yīng)用場景,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • python圖片驗證碼生成代碼

    python圖片驗證碼生成代碼

    這篇文章主要為大家詳細介紹了python圖片驗證碼生成代碼,感興趣的朋友可以參考一下
    2016-07-07
  • python輕量級性能工具-Locust詳解

    python輕量級性能工具-Locust詳解

    Locust基于python的協(xié)程機制,打破了線程進程的限制,可以能夠在一臺測試機上跑高并發(fā),這篇文章主要介紹了python輕量級性能工具-Locust,需要的朋友可以參考下
    2023-05-05
  • Python利用txt文件對Mysql進行增刪改查移

    Python利用txt文件對Mysql進行增刪改查移

    這篇文章主要介紹了如何在Python中利用TXT文件對Mysql中的記錄進行增刪改查移,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)
    2021-12-12
  • python3操作注冊表的方法(Url protocol)

    python3操作注冊表的方法(Url protocol)

    使用python操作注冊表的方法最近學(xué)習(xí)了一下,現(xiàn)在做一下筆記,由于對Python語言的使用還不是很熟練,所以寫不出高大上的結(jié)構(gòu)
    2020-02-02
  • 詳解Python圖像處理中內(nèi)存泄漏的問題解決方法

    詳解Python圖像處理中內(nèi)存泄漏的問題解決方法

    在Python編程中,尤其是在圖像處理領(lǐng)域,內(nèi)存泄漏是一個不容忽視的問題,本文將深入探討Python為何容易發(fā)生內(nèi)存泄漏,以及如何有效檢測和解決,希望對大家有所幫助
    2025-02-02
  • Python中實現(xiàn)輸入一個整數(shù)的案例

    Python中實現(xiàn)輸入一個整數(shù)的案例

    這篇文章主要介紹了Python中實現(xiàn)輸入一個整數(shù)的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論

桐柏县| 伊通| 凤山市| 滁州市| 滦南县| 桂阳县| 台湾省| 临颍县| 贵定县| 襄垣县| 乳山市| 彭阳县| 沂水县| 肥东县| 榆林市| 桦甸市| 东丰县| 溧水县| 乌兰浩特市| 特克斯县| 鸡西市| 水城县| 武鸣县| 体育| 文化| 天门市| 荆州市| 扎赉特旗| 建宁县| 蒙城县| 石楼县| 南岸区| 彭山县| 万载县| 鹤岗市| 汽车| 永修县| 洛扎县| 宁阳县| 周口市| 宁化县|