Python自動(dòng)化辦公之圖片轉(zhuǎn)PDF的實(shí)現(xiàn)
安裝的方式很常規(guī),直接使用pip安裝就行了。
pip install fpdf
將需要使用的三方模塊導(dǎo)入進(jìn)來
from fpdf import FPDF # PDF文檔對(duì)象操作庫 import os # 文件路徑操作庫
初始化PDF文檔對(duì)象
PDF = FPDF()
關(guān)閉自動(dòng)分頁
PDF.set_auto_page_break(0)
設(shè)置需要轉(zhuǎn)換的批量圖片路徑
path = r'C:/imgs'
遍歷圖片到數(shù)組
images = [i for i in os.listdir(path)]
設(shè)置多少?gòu)垐D片在PDF中占一頁
NUM = int(input('參數(shù)設(shè)置: 請(qǐng)輸入多少?gòu)垐D片占用一頁: \n'))
設(shè)置圖片的寬度和高度
width = int(input('參數(shù)設(shè)置: 請(qǐng)輸入每張圖片的寬度: \n')) height = int(input('參數(shù)設(shè)置: 請(qǐng)輸入每張圖片的高度: \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)換完成!')
實(shí)現(xiàn)效果圖
補(bǔ)充
當(dāng)然Python還能實(shí)現(xiàn)多張圖片合并轉(zhuǎn)PDF格式
下面是實(shí)現(xiàn)的示例代碼
from PIL import Image import os import img2pdf flag = False while not flag: dirname = input("請(qǐng)輸入圖片文件夾所在路徑(例如d:/wlzcool):") flag = os.path.exists(dirname) if not flag: print("圖片文件夾所在路徑不存在!") saveflag = False while not saveflag: savedirname = input("請(qǐng)輸入目標(biāo)圖片文件夾所在路徑(例如d:/wlzcool2):") saveflag = os.path.exists(savedirname) if not saveflag: print("圖片文件夾所在路徑不存在!") automakedir = input("是否自動(dòng)創(chuàng)建對(duì)應(yīng)文件夾?(是Y/否N):") if automakedir.strip().upper() == "Y": os.makedirs(savedirname) saveflag = True files = os.listdir(dirname) reductionFactor = int(input("請(qǐng)輸入長(zhǎng)寬壓縮比(例如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("請(qǐng)輸入輸出文件名(例如:第一章):") 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自動(dòng)化辦公之圖片轉(zhuǎn)PDF的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python圖片轉(zhuǎn)PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python自制一個(gè)PDF轉(zhuǎn)PNG圖片小工具
- 詳解python實(shí)現(xiàn)多張多格式圖片轉(zhuǎn)PDF并打包成exe
- Python實(shí)現(xiàn)文字pdf轉(zhuǎn)換圖片pdf效果
- Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例
- 利用python將圖片版PDF轉(zhuǎn)文字版PDF
- Python 將pdf轉(zhuǎn)成圖片的方法
- windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法
- 用python 制作圖片轉(zhuǎn)pdf工具
- Python的pdfplumber庫將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn)
相關(guān)文章
python3 QT5 端口轉(zhuǎn)發(fā)工具兩種場(chǎng)景分析
這篇文章主要介紹了python3 QT5 端口轉(zhuǎn)發(fā)工具,功能是打開本機(jī)端口,映射到指定IP的端口,接下來通過兩種場(chǎng)景給大家詳細(xì)介紹,感興趣的朋友一起看看吧2022-01-01Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例
在python編程中,我們經(jīng)常要用到j(luò)son對(duì)象作為數(shù)據(jù)交換格式,下面這篇文章主要給大家介紹了關(guān)于Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08python sys,os,time模塊的使用(包括時(shí)間格式的各種轉(zhuǎn)換)
這篇文章主要介紹了python sys,os,time模塊的使用(包括時(shí)間格式的各種轉(zhuǎn)換),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04解決tensorflow由于未初始化變量而導(dǎo)致的錯(cuò)誤問題
今天小編就為大家分享一篇解決tensorflow由于未初始化變量而導(dǎo)致的錯(cuò)誤問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python中的反射知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11Python plt.imshow函數(shù)及其參數(shù)使用
plt.imshow()是Matplotlib庫中的一個(gè)函數(shù),主要用于顯示圖像或矩陣數(shù)據(jù),本文主要介紹了Python plt.imshow函數(shù)及其參數(shù)使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02