1 Star 0 Fork 2

july/doc_downloader_web

forked from weder/doc_downloader_web 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
img2pdf.py 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
豆腐 提交于 2020-02-10 17:09 . init commit
import os
import string
from PIL import Image
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import portrait
import sys
from tqdm import trange
def file_name(file_dir, suffix=".jpg"):
L = []
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == suffix:
L.append(os.path.join(root, file))
L = sorted(L, key=lambda x: int(x.split('\\')[-1].split('/')[-1][:-4]))
return L
def conpdf(f_pdf, filedir, suffix=".jpg", scale=False):
fileList = file_name(filedir, suffix)
img = Image.open(fileList[0])
if scale and img.size[0] < img.size[1]:
# (w, h) = (940, 529)
(w, h) = (848, 1168)
else:
(w, h) = img.size
c = canvas.Canvas(f_pdf, pagesize=(w, h))
for i in trange(len(fileList)):
f = fileList[i]
(xsize, ysize) = Image.open(f).size
ratx = xsize / w
raty = ysize / h
ratxy = xsize / (1.0 * ysize)
if ratx > 1:
ratx = 0.99
if raty > 1:
raty = 0.99
rat = ratx
if ratx < raty:
rat = raty
widthx = w * rat
widthy = h * rat
widthx = widthy * ratxy
posx = (w - widthx) / 2
if posx < 0:
posx = 0
posy = (h - widthy) / 2
if posy < 0:
posy = 0
c.drawImage(f, posx, posy, widthx, widthy)
c.showPage()
c.save()
print("转码完毕")
if __name__ == "__main__":
conpdf('output.pdf', 'temp', '.png')
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/julianbarros/doc_downloader_web.git
git@gitee.com:julianbarros/doc_downloader_web.git
julianbarros
doc_downloader_web
doc_downloader_web
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385