先前条件
需要安装两模块:fpdf
、PIL
pip install fpdf
pip install PIL
放码过来
from fpdf import FPDF
from PIL import Image
import os
def makePdf(pdfFileName, listPages):
cover = Image.open(listPages[0])
width, height = cover.size
pdf = FPDF(unit = "pt", format = [width, height])
for page in listPages:
pdf.add_page()
pdf.image(page, 0, 0)
pdf.output(pdfFileName, "F")
makePdf("result.pdf", [imgFileName for imgFileName in os.listdir('.') \
if imgFileName.endswith("png")])
更近一步
针对扫描书籍图片集汇合成PDF文件,主要操作步骤:
- 提高图片对比度,让黑字更黑。
- 将图片统一长宽尺寸,然后尺寸缩小若干倍,减少不必要的容量大小。
- 最后,将处理后的图片汇合成PDF文件。
注意:
- 提高图片对比度时有副作用:某些表格、图片中的灰色部分也变得更黑,可能影响其上文字阅读。解决之道:跳过该页,不对该页进行提高对比度。
CovertImagesToPDF.py
import os
from PIL import Image
from PIL import ImageEnhance
from fpdf import FPDF
def getAvgImageSize(path = ".", infoFlag = False):
totalWidth = 0
totalHeight =