如何运行 python 在多个文件夹上创建pdf?
How to run python on multiple folder to create pdf?
下面的代码是将多张图片合并成一个pdf。我正在尝试 运行 多个文件夹中的此代码,结果每个文件夹都有多个图像,每个文件夹将有一个 pdf。
import os
from PIL import Image
from fpdf import FPDF
pdf = FPDF()
sdir = "imageFolder/"
w,h = 0,0
for i in range(1, 100):
fname = sdir + "IMG%.3d.png" % i
if os.path.exists(fname):
if i == 1:
cover = Image.open(fname)
w,h = cover.size
pdf = FPDF(unit = "pt", format = [w,h])
image = fname
pdf.add_page()
pdf.image(image,0,0,w,h)
else:
print("File not found:", fname)
print("processed %d" % i)
pdf.output("output.pdf", "F")
print("done")
我正在考虑创建另一个循环以引入将在第一个循环之前出现的文件夹路径:
For j in range(1 to 70):
folderP=sdir+folder%1
并在每个文件夹中循环
对不起,我还在学习python。任何建议都会很棒!
您可以使用 glob
获取所有 pdf 的路径并将它们添加到列表中,然后您只需遍历列表,甚至不需要检查它们是否存在:
from glob import glob
sDir = 'imageFolder/'
pdfPaths = []
pdfPaths.extend(glob(f'{sDir}**/*.pdf', recursive=True))
for pdf in pdfPaths:
# do stuff
下面的代码是将多张图片合并成一个pdf。我正在尝试 运行 多个文件夹中的此代码,结果每个文件夹都有多个图像,每个文件夹将有一个 pdf。
import os
from PIL import Image
from fpdf import FPDF
pdf = FPDF()
sdir = "imageFolder/"
w,h = 0,0
for i in range(1, 100):
fname = sdir + "IMG%.3d.png" % i
if os.path.exists(fname):
if i == 1:
cover = Image.open(fname)
w,h = cover.size
pdf = FPDF(unit = "pt", format = [w,h])
image = fname
pdf.add_page()
pdf.image(image,0,0,w,h)
else:
print("File not found:", fname)
print("processed %d" % i)
pdf.output("output.pdf", "F")
print("done")
我正在考虑创建另一个循环以引入将在第一个循环之前出现的文件夹路径:
For j in range(1 to 70):
folderP=sdir+folder%1
并在每个文件夹中循环
对不起,我还在学习python。任何建议都会很棒!
您可以使用 glob
获取所有 pdf 的路径并将它们添加到列表中,然后您只需遍历列表,甚至不需要检查它们是否存在:
from glob import glob
sDir = 'imageFolder/'
pdfPaths = []
pdfPaths.extend(glob(f'{sDir}**/*.pdf', recursive=True))
for pdf in pdfPaths:
# do stuff