我正在寻找一种方法来生成一个PDF文件夹与几张图片。
我有很多这样的照片:
folder1/
Image1.jpg
Image2.jpg
......
folder2/
img1.jpg
pict.jpg
name1.jpg
我正在寻找一种方法,我们可以自动生成一个PDF使用保存的图片的名称,如果可能的话,自动加载到PDF的图片。
我的代码:
import os
from PIL import Image
from PyPDF2 import PdfFileWriter, PdfFileReader
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
# Define the path to the folder containing the images
path = "path/to/folder"
# Create a new PDF file
output_pdf = PdfFileWriter()
# Loop through each image in the folder and add it to the PDF file
for filename in os.listdir(path):
if filename.endswith(".jpg") or filename.endswith(".jpeg") or filename.endswith(".png"):
# Open the image file using the Pillow library
with Image.open(os.path.join(path, filename)) as img:
# Create a new page in the PDF file
pdf_page = output_pdf.addBlankPage(width=img.width, height=img.height)
# Convert the image to RGB mode and add it to the PDF page
img_rgb = img.convert('RGB')
pdf_page.mergeRGBImage(img_rgb)
# Add the file name to the PDF page
c = canvas.Canvas(pdf_page)
c.setFont("Helvetica", 8)
c.drawString(10, 10, filename)
c.save()
# Save the output PDF file
with open("output.pdf", "wb") as out_file:
output_pdf.write(out_file)
1条答案
按热度按时间odopli941#
这是我的建议,我会使用PIL来实现你想要的:
当然,您必须编辑图像的当前路径。在for循环中,你必须指定哪些图片要保存为pdf,正如你提到的,你要指定哪些图片应该保存。
如果您正在运行该脚本,所有提到的图片将被保存为PDF文件在提到的路径。
如果您有任何其他问题,请随时提问。