我是一个新手,我试图用img2pdf (递归)创建一个多页pdf,但是只有最后一张图片保存在一个pdf文件中。
from pathlib import Path
import os
import img2pdf
main_dir = Path(Path.cwd(),'MAIN')
for subfolder in main_dir.iterdir():
if subfolder.is_file():
continue
for filename in subfolder.iterdir():
#pdf as foldername
pdf_name = os.path.basename(subfolder)
#write image-file to pdf file
with open(pdf_name+".pdf", "wb") as f:
f.write(img2pdf.convert(str(filename)))当我用print(文件名)测试它时,所有的图像都会通过循环。
也许有人能告诉我我的误解在哪里。
发布于 2022-06-22 10:27:28
img2pdf模块可以直接将图像文件名列表作为参数,并将其转换为pdf。看看这里的文档
from pathlib import Path
import os
import img2pdf
main_dir = Path(Path.cwd(),'your/path/to/images/folder')
for subfolder in main_dir.iterdir():
imgs = []
if subfolder.is_file():
continue
for filename in subfolder.iterdir():
imgs.append(os.path.join(subfolder, filename))
pdf_name = os.path.basename(subfolder)
with open(pdf_name+".pdf", "wb") as f:
f.write(img2pdf.convert(imgs))https://stackoverflow.com/questions/72713686
复制相似问题