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

Python melaksanakan sintesis kumpulan imej ke dalam format PDF

WBOY
Lepaskan: 2023-05-06 23:49:10
ke hadapan
2701 orang telah melayarinya

太实用了!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
Salin selepas log masuk

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")
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk
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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan