报名用到图片转换PDF,搜出来的工具不是充会员,就是收费,烦人至极。下面是单个和多个图片格式转换PDF源码,设置好图片和输出PDF路径,复制粘贴到Python一键运行即可:
#单个图片转换PDF
from PIL import Image
from fpdf import FPDF
def convert_image_to_pdf(image_path, output_path):
image = Image.open(image_path)
pdf = FPDF(unit="pt", format=image.size)
# 添加一页PDF并调整大小以适应图像
pdf.add_page()
pdf.image(image_path, 0, 0, image.size[0], image.size[1])
# 保存PDF文件
pdf.output(output_path, "F")
# 输入图片路径
image_path = 'D:/aaa/image_jpg/c.jpg'
# 输出PDF路径
output_path = 'D:/aaa/image_pdf/filec.pdf'
convert_image_to_pdf(image_path, output_path)
#多个图片转换PDF
from PIL import Image
from reportlab.pdfgen import canvas
def convert_jpg_to_pdf(jpg_files, output_pdf):
c = canvas.Canvas(output_pdf)
for jpg_file in jpg_files:
img = Image.open(jpg_file)
width, height = img.size
c.setPageSize((width, height))
c.drawImage(jpg_file, 0, 0, width, height)
c.showPage()
c.save()
# 指定要转换的JPG文件列表
jpg_files = ["D:/aaa/image_jpg/b1.jpg", "D:/aaa/image_jpg/a1.jpg"]
# 指定输出的PDF文件名
output_pdf ="D:/aaa/image_jpg/output2.pdf"
# 调用函数进行转换
convert_jpg_to_pdf(jpg_files, output_pdf)