每个 pdf 添加 2 页文件名
adding 2 pages per pdf with filename
我正在志愿为一个组织制作身份证。使用 Python 中的各种资源编写脚本并创建图像。现在我将这些图像转换为 pdf 文件,其中包含身份证的正面和背面,作为带有持卡人姓名的单个 pdf 文件。我可以得到名字,但所有图像都添加到一个 pdf 中。我希望在图像到 pdf 本身的转换时每 2 页拆分一次。
from fpdf import FPDF
import glob
for image in image_list:
print(image.title())
# print(image.index(1))
filename = image.rstrip("_front.png")
filename = filename.rstrip("_back.png")
print(filename)
filename = filename.lstrip("\D:\pythonex\Achyutaashrama\")
print("final filename--->"+filename)
pdf.add_page()
pdf.image(image, 50, 110, 110)
if (len(pdf.pages)) / 2 == 0:
pdf.output(filename + ".pdf", "F")
break
else:
continue
如果我将 pdf.output 行放在 for 循环之外,它会到达一个文件并且上面的代码是 运行 没有任何错误但是没有生成任何文件。
请帮忙。
如果我没有理解错的话,问题是如何每 2 页创建一个新的 pdf。
如果您确定图像在列表中的位置,这里有一个如何以非常愚蠢的方式拆分 pdf 文件的示例,可能还有更多更好的想法。
概念是:创建 FPDF() 的新实例。
在下面的代码中,我只写了如何拆分文件,每个页面里面只有一个字符串:“Hello”和一个数字。
from fpdf import FPDF
def createpdf():
# here I just create a fake list, just to explain how to split the pdf files
image_list_fake = range(10)
count = 1
pdf = FPDF()
for imag in image_list_fake:
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(40, 10, 'Hello '+ str(imag))
if count%2 == 0:
# you have to close it ...
pdf.output(str(imag)+'.pdf', 'F')
# ... and open a new FPDF instance
pdf = FPDF()
count = 1
else:
count += 1
我正在志愿为一个组织制作身份证。使用 Python 中的各种资源编写脚本并创建图像。现在我将这些图像转换为 pdf 文件,其中包含身份证的正面和背面,作为带有持卡人姓名的单个 pdf 文件。我可以得到名字,但所有图像都添加到一个 pdf 中。我希望在图像到 pdf 本身的转换时每 2 页拆分一次。
from fpdf import FPDF
import glob
for image in image_list:
print(image.title())
# print(image.index(1))
filename = image.rstrip("_front.png")
filename = filename.rstrip("_back.png")
print(filename)
filename = filename.lstrip("\D:\pythonex\Achyutaashrama\")
print("final filename--->"+filename)
pdf.add_page()
pdf.image(image, 50, 110, 110)
if (len(pdf.pages)) / 2 == 0:
pdf.output(filename + ".pdf", "F")
break
else:
continue
如果我将 pdf.output 行放在 for 循环之外,它会到达一个文件并且上面的代码是 运行 没有任何错误但是没有生成任何文件。
请帮忙。
如果我没有理解错的话,问题是如何每 2 页创建一个新的 pdf。
如果您确定图像在列表中的位置,这里有一个如何以非常愚蠢的方式拆分 pdf 文件的示例,可能还有更多更好的想法。
概念是:创建 FPDF() 的新实例。
在下面的代码中,我只写了如何拆分文件,每个页面里面只有一个字符串:“Hello”和一个数字。
from fpdf import FPDF
def createpdf():
# here I just create a fake list, just to explain how to split the pdf files
image_list_fake = range(10)
count = 1
pdf = FPDF()
for imag in image_list_fake:
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(40, 10, 'Hello '+ str(imag))
if count%2 == 0:
# you have to close it ...
pdf.output(str(imag)+'.pdf', 'F')
# ... and open a new FPDF instance
pdf = FPDF()
count = 1
else:
count += 1