Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Python melaksanakan sintesis kumpulan imej ke dalam format PDF

Python melaksanakan sintesis kumpulan imej ke dalam format PDF

WBOY
WBOYke hadapan
2023-05-06 23:49:102613semak imbas

太实用了!Python 合成多张图片到PDF格式!

Di bawah sistem macOS, perisian pratonton boleh melakukan ini dengan mudah Pada masa yang sama, buka imej dalam tetingkap pratonton dan klik Eksport PDF untuk berjaya mengeksport. Walau bagaimanapun, sistem Windows tidak mempunyai perisian yang mudah yang boleh mencapai ini. Terdapat banyak tapak web untuk mensintesis PDF di Internet, tetapi tapak web ini tanpa pengecualian memerlukan memuat naik PDF untuk sintesis, yang secara peribadi saya fikir sangat tidak selamat.

Oleh itu, cara paling selamat ialah dengan menulis sendiri skrip Python untuk melaksanakan fungsi sintesis.

1. Persediaan

Sila pilih mana-mana kaedah berikut untuk memasukkan arahan untuk memasang dependensi:

1.

2. Persekitaran MacOS Open Terminal (perintah+ruang untuk memasuki Terminal).

3. Jika anda menggunakan editor VSCode atau Pycharm, anda boleh terus menggunakan Terminal di bahagian bawah antara muka.

pip install pillow

2. iaitu, PIL: Perpustakaan Pengimejan Python sudah pun menjadi perpustakaan standard de facto untuk pemprosesan imej pada platform Python. PIL sangat berkuasa, tetapi API sangat mudah dan mudah digunakan. Dengan itu, kami boleh memanipulasi imej dengan mudah dan mengeksportnya ke format yang berbeza.

Pertama sekali, mari kita ambil contoh mudah Kami akan membuka gambar dan menyimpannya dalam format pdf:

from PIL import Image
import os
def convert_img_pdf(filepath, output_path):
"""
转换图片为pdf格式
Args:
filepath (str): 文件路径
output_path (str): 输出路径
"""
output = Image.open(filepath)
output.save(output_path, "pdf", save_all=True)
if __name__ == "__main__":
convert_img_pdf("1.jpeg", "./test.pdf")

Hanya gunakan gambar untuk mengujinya:

<.>

Selepas menjalankan kod, ia telah berjaya ditukar menjadi fail PDF: 太实用了!Python 合成多张图片到PDF格式!

Penukaran ini telah diselesaikan dalam hanya beberapa baris kod, yang adalah setanding dengan Tapak web yang memuat naik foto ke awan adalah lebih selamat. 太实用了!Python 合成多张图片到PDF格式!

3. Menggabungkan berbilang foto ke dalam PDF

Dengan pengetahuan asas menukar foto kepada PDF, adalah sangat mudah untuk memahami kod berikut untuk menggabungkan berbilang foto ke dalam PDF.

Malah, kami menggunakan parameter khas append_images .save:

output.save(pdfFilePath, "pdf", save_all=True, append_images=sources)

Dengan menyimpan imej ke dalam tatasusunan "sumber", kami boleh mensintesis imej ini ke tengah PDF dengan mudah.

from PIL import Image
import os
def combine_imgs_pdf(folder_path, pdf_file_path):
"""
合成文件夹下的所有图片为pdf
Args:
folder_path (str): 源文件夹
pdf_file_path (str): 输出路径
"""
files = os.listdir(folder_path)
png_files = []
sources = []
for file in files:
if 'png' in file or 'jpg' in file:
png_files.append(folder_path + file)
png_files.sort()
output = Image.open(png_files[0])
png_files.pop(0)
for file in png_files:
png_file = Image.open(file)
if png_file.mode == "RGB":
png_file = png_file.convert("RGB")
sources.append(png_file)
output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)
if __name__ == "__main__":
folder = r"G:证件\"
pdfFile = r"G:证件身份证.pdf"
combine_imgs_pdf(folder, pdfFile)

Dengan cara ini, letakkan sahaja foto ID anda dalam folder dan jalankan kod Python ini, ia akan menggabungkan foto ID ini secara automatik ke dalam PDF dan mengeluarkannya ke laluan yang anda tentukan. Sangat ringkas dan selesa.

Jika anda memerlukan, ikut kod dan cuba! Selepas menontonnya seratus kali dan membacanya seribu kali, lebih baik untuk menaipnya sendiri! 太实用了!Python 合成多张图片到PDF格式!

Atas ialah kandungan terperinci Python melaksanakan sintesis kumpulan imej ke dalam format PDF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam