Hướng dẫn how do i save multiple images as one pdf in python? - làm cách nào để lưu nhiều hình ảnh dưới dạng một pdf trong python?

Tôi biết đây là một câu hỏi cũ. Trong trường hợp của tôi, tôi sử dụng báo cáo.

Kích thước tấm được biểu thị bằng các điểm, không phải pixel, với một điểm bằng 1/72 inch. Một tờ A4 được tạo thành từ 595,2 điểm chiều rộng và chiều cao 841,8 điểm. Nguồn gốc của tọa độ vị trí (0, 0) nằm ở góc dưới bên trái. Khi tạo một thể hiện của canvas.canvas, bạn có thể chỉ định kích thước của các tấm bằng tham số Pagesize, vượt qua một phần tử có phần tử đầu tiên biểu thị chiều rộng tính theo điểm và chiều cao thứ hai. Phương thức c.ShowPage () cho báo cáo rằng nó đã hoàn thành hoạt động trên bảng hiện tại và chuyển sang mẫu tiếp theo. Mặc dù một tờ thứ hai chưa được thực hiện (và sẽ không xuất hiện trong tài liệu miễn là không có gì được rút ra), thật tốt khi nhớ làm như vậy trước khi gọi c.save (). Để chèn hình ảnh vào tài liệu PDF, ReportLab sử dụng thư viện gối. Phương thức DrawImage () lấy đối số của nó, đường dẫn của hình ảnh (hỗ trợ nhiều định dạng như PNG, JPEG và GIF) và vị trí (x, y) theo cách mà bạn muốn chèn. Hình ảnh có thể được giảm hoặc mở rộng cho thấy kích thước của nó thông qua các đối số chiều rộng và chiều cao.

Mã sau đây cung cấp tên tệp PDF, liệt kê các tệp PNG, tọa độ để chèn hình ảnh cũng như kích thước để phù hợp với các trang chữ cái chân dung.

def pntopd(file, figs, x, y, wi, he):
    from reportlab.pdfgen import canvas
    from reportlab.lib.pagesizes import A4, letter, landscape, portrait
    w, h = letter
    c = canvas.Canvas(str(file), pagesize=portrait(letter))
    for png in figs:
        c.drawImage(png, x, h - y, width=wi, height=he)
        c.showPage()
    c.save()
    
    
    
from datetime import date
from pathlib import Path
ruta = "C:/SQLite"
today = date.today()
dat_dir = Path(ruta)
tit = today.strftime("%y%m%d") + '_ParameterAudit'
pdf_file = tit + ".pdf"
pdf_path = dat_dir / pdf_file
pnglist = ['C0.png', 'C4387.png', 'C9712.png', 'C9685.png', 'C4364.png']
pntopd(pdf_path, pnglist, 50, 550, 500, 500)


Nhiều lần, bạn bắt gặp nhu cầu kết hợp nhiều tệp hình ảnh (.jpg, .png, v.v.) thành một định dạng tài liệu di động duy nhất (.pdf). Có lẽ, bạn có một loạt các ghi chú viết tay mà bạn muốn tổ chức thành một tệp. Làm điều đó là rất tầm thường nếu bạn biết Python. Để được với, bạn phải cài đặt thư viện fpdf:

Điều đầu tiên bạn làm là tạo đối tượng FPDF() và đặt thư mục nguồn nơi bạn có hình ảnh được lưu trữ. sdir là biến đó. Bạn cũng cần đặt hai biến để chụp chiều cao và chiều rộng của hình ảnh tương ứng.

import os
from PIL import Image
from fpdf import FPDF
pdf = FPDF()
sdir = "imageFolder/"
w,h = 0,0

Sau đó đến phần vòng lặp. Điều này giúp mọi thứ dễ dàng hơn nếu bạn có các tệp hình ảnh có tên serer theo thứ tự số (IMG001.png, IMG002.png, v.v.). Mặt khác, bạn có thể điều chỉnh mã này để xử lý theo cách thủ công hoặc tuần tự chúng bằng cách đặt biến fname:

for i in range(1, 100):
    fname = sdir + "IMG%.3d.png" % i
    if os.path.exists(fname):
        if i == 1:
            cover = Image.open(fname)
            w,h = cover.size
            pdf = FPDF(unit = "pt", format = [w,h])
        image = fname
        pdf.add_page()
        pdf.image(image,0,0,w,h)
    else:
        print("File not found:", fname)
    print("processed %d" % i)
pdf.output("output.pdf", "F")
print("done")

Đầu ra của quá trình trên sẽ được lưu trữ trong một tệp "đầu ra.pdf" duy nhất. Vì vậy, điều đó khá đẹp và dễ dàng, phải không? Đây là toàn bộ mã.

import os
from PIL import Image
from fpdf import FPDF
pdf = FPDF()
sdir = "imageFolder/"
w,h = 0,0

for i in range(1, 100):
    fname = sdir + "IMG%.3d.png" % i
    if os.path.exists(fname):
        if i == 1:
            cover = Image.open(fname)
            w,h = cover.size
            pdf = FPDF(unit = "pt", format = [w,h])
        image = fname
        pdf.add_page()
        pdf.image(image,0,0,w,h)
    else:
        print("File not found:", fname)
    print("processed %d" % i)
pdf.output("output.pdf", "F")
print("done")

Làm cách nào để lưu nhiều hình dưới dạng một pdf trong Python?

Tạo một hình khác (Hình2) hoặc kích hoạt và hình hiện tại bằng phương thức Hình ().Vẽ dòng thứ hai bằng phương thức Plot ().Khởi tạo một biến, tên tệp, để tạo tệp pdf.Tạo hàm do người dùng xác định Save_Multi_Image () để lưu nhiều hình ảnh trong tệp PDF.Create a user-defined function save_multi_image() to save multiple images in a PDF file.

Làm cách nào để lưu nhiều hình ảnh dưới dạng một pdf?

Chỉ cần truy cập trang web Acrobat Online và tải lên các tệp bạn muốn hợp nhất. Hãy điều chỉnh các tệp theo cách bạn thích và sau đó nhấp vào Merge Files. Sau đó, chỉ cần tải xuống PDF được hợp nhất.Điều này sẽ kết hợp tất cả các PDF chuyển sang JPGS thành một PDF duy nhất mà bạn có thể dễ dàng chia sẻ hoặc xem.visit the Acrobat Online website and upload the files you want to merge. Reorder the files however you like and then click Merge files. After that, just download the merged PDF. This will combine all the JPGs-turned-PDFs into a single PDF you can easily share or view.

Làm cách nào để kết hợp nhiều hình ảnh trong Python?

Hợp nhất hai hình ảnh..
Tạo đối tượng hình ảnh cho các hình ảnh cần thiết bằng hàm Open () ..
Trong khi hợp nhất hai hình ảnh, bạn cần đảm bảo rằng cả hai hình ảnh đều có cùng kích thước.....
Tạo một hình ảnh trống bằng hình ảnh.....
Dán hình ảnh bằng hàm dán () ..