Python là một ngôn ngữ kịch bản và do đó, nó giúp theo nhiều cách để tạo các trình chuyển đổi tệp như CSV sang PDF, PDF sang DOC và ngược lại. Với sự trợ giúp của một số thư viện nhất định, chúng tôi cũng có thể tạo một ứng dụng chuyển đổi hình ảnh thành PDF. Để tạo một ứng dụng như vậy, chúng tôi sử dụng mô-đun img2pdf trong Python. Nó giúp phân tích cú pháp nhị phân hình ảnh và chuyển đổi nó thành PDF Show Chúng tôi sẽ làm theo các bước sau để tạo một ứng dụng,
Thí dụ# Import required Libraries from tkinter import * from tkinter import filedialog import img2pdf from tkinter import ttk # Create an instance of tkinter frame win = Tk() #set the geometry win.geometry('750x250') win.title("Image to PDF") def select_file(): global images images = filedialog.askopenfilenames(initialdir = "",title = "Select Images") Label(win, text=images).pack() #Convert Image to PDF def image_to_pdf(): for image in enumerate(images): with open(f"{image}.pdf", "wb") as file: file.write(img2pdf.convert(images)) Label(frame,text=file).pack() # Add Labels and Buttons Label(win, text = "Image to PDF Convertor",font = "Caveat 25 bold").pack(pady = 30) ttk.Button(win, text = "Select Images",command = select_file).pack(ipadx = 10) frame = Frame(win) frame.pack() ttk.Button(frame, text = "Convert and Save",command = image_to_pdf).pack(side = LEFT, pady=20,ipadx = 10) win.mainloop() đầu raChạy đoạn mã trên sẽ hiển thị cửa sổ ứng dụng sẽ chuyển đổi hình ảnh thành tệp PDF Bây giờ, chọn một tệp Hình ảnh từ thư mục cục bộ và nhấp vào nút "Chuyển đổi và Lưu" để chuyển đổi và lưu dưới dạng PDF Chuyển đổi không mất dữ liệu hình ảnh raster sang PDF. Bạn nên sử dụng img2pdf nếu ưu tiên của bạn là (theo thứ tự này)
Phần mềm chuyển đổi thông thường (như ImageMagick) sẽ
Một ưu điểm khác của việc không phải mã hóa lại đầu vào (trong hầu hết các tình huống phổ biến) là img2pdf có thể xử lý đầu vào lớn hơn nhiều so với phần mềm khác, vì dữ liệu pixel thô không bao giờ phải được tải vào bộ nhớ Bảng sau đây cho thấy cách img2pdf xử lý các đầu vào khác nhau tùy thuộc vào định dạng tệp đầu vào và không gian màu của hình ảnh Định dạngKhông gian màuKết quảJPEGanydirectJPEG2000bất kỳdirectPNG (không xen kẽ, không trong suốt)bất kỳTIFF (CCITT Nhóm 4)đơn sắc trực tiếpbất kỳ ngoại trừ CMYK và đơn sắcPNG Paethanyđơn sắcCCITT Nhóm 4bất kỳCMYKphẳngĐối với các hình ảnh JPEG, JPEG2000, PNG và TIFF không xen kẽ với dữ liệu được mã hóa CCITT Nhóm 4, img2pdf nhúng trực tiếp dữ liệu hình ảnh vào PDF mà không cần mã hóa lại. Do đó, nó chỉ coi định dạng PDF là định dạng chứa dữ liệu hình ảnh. Trong những trường hợp này, img2pdf chỉ tăng kích thước tệp theo kích thước của bộ chứa PDF (thường khoảng 500 đến 700 byte). Do dữ liệu chỉ được sao chép và không được mã hóa lại nên img2pdf cũng thường nhanh hơn các giải pháp khác cho các định dạng đầu vào này Đối với tất cả các loại đầu vào khác, trước tiên img2pdf phải chuyển đổi dữ liệu pixel để tương thích với PDF. Trong hầu hết các trường hợp, bộ lọc PNG Paeth được áp dụng cho dữ liệu pixel. Đối với đầu vào đơn sắc, CCITT Nhóm 4 được sử dụng thay thế. Chỉ đối với đầu vào CMYK, không có bộ lọc nào được áp dụng trước khi áp dụng nén phẳng Cách sử dụngHình ảnh phải được cung cấp dưới dạng tệp vì img2pdf cần tìm kiếm trong bộ mô tả tệp Nếu không có tệp đầu ra nào được chỉ định với tùy chọn 4/ 5, đầu ra sẽ được thực hiện thành thiết bị xuất chuẩn. Một lời gọi điển hình là
Tài liệu chi tiết có thể được truy cập bằng cách chạy
lỗi
Cài đặtTrên hệ thống dựa trên Debian và Ubuntu, img2pdf có thể được cài đặt từ kho lưu trữ chính thức
Nếu bạn muốn cài đặt nó bằng pip, bạn có thể chạy
Nếu bạn muốn cài đặt từ mã nguồn, hãy sử dụng
Để kiểm tra tập lệnh bảng điều khiển mà không cần cài đặt gói trên hệ thống của bạn, hãy sử dụng virtualenv
Sau đó, bạn có thể kiểm tra trình chuyển đổi bằng cách sử dụng
Đối với người dùng Microsoft Windows, dựa trên PyInstaller. các tệp exe được sản xuất bởi appveyor. Nếu bạn không muốn cài đặt Python trước khi sử dụng img2pdf, bạn có thể vào appveyor và nhấp vào "Artifacts" để tải xuống phiên bản mới nhất. https. //ci. băng tải ứng dụng. com/dự án/josch/img2pdf GUITồn tại một GUI thử nghiệm với tất cả các cài đặt hiện đang bị tắt. Bạn có thể chuyển đổi trực tiếp hình ảnh sang PDF nhưng bạn chưa thể đặt bất kỳ tùy chọn nào qua GUI. Nếu bạn quan tâm đến việc thêm nhiều tính năng hơn vào PDF, vui lòng gửi yêu cầu hợp nhất. GUI dựa trên tkinter và hoạt động trên Linux, Windows và MacOS Thư việnGói cũng có thể được sử dụng như một thư viện
So sánh với ImageMagickTạo một hình ảnh thử nghiệm lớn
Chuyển đổi nó thành PDF bằng ImageMagick và img2pdf
Lưu ý rằng ImageMagick mất nhiều thời gian hơn để thực hiện chuyển đổi so với img2pdf. Nó cũng sử dụng gấp đôi bộ nhớ Bây giờ hãy trích xuất dữ liệu hình ảnh từ cả hai tài liệu PDF và so sánh nó với bản gốc 0Để có được đầu ra không mất dữ liệu với ImageMagick, chúng ta có thể sử dụng nén Zip nhưng điều đó làm tăng kích thước của đầu ra một cách không cần thiết 1So sánh với pdfLaTeXpdfLaTeX thực hiện chuyển đổi không mất dữ liệu từ các hình ảnh được bao gồm sang PDF theo mặc định. Nếu đầu vào là JPEG, thì nó chỉ cần nhúng JPEG vào PDF giống như cách img2pdf thực hiện. Nhưng đối với các định dạng hình ảnh khác, nó sử dụng nén phẳng dữ liệu pixel đơn giản và do đó làm tăng kích thước tệp đầu ra một cách không cần thiết 2So sánh với podofoimg2pdfGiống như pdfLaTeX, podofoimg2pdf có thể thực hiện chuyển đổi không mất dữ liệu từ JPEG sang PDF bằng cách nhúng rõ ràng dữ liệu JPEG vào bộ chứa pdf. Nhưng cũng giống như pdfLaTeX, nó sử dụng nén phẳng cho tất cả các định dạng tệp khác, do đó đôi khi dẫn đến các tệp lớn hơn mức cần thiết 3Nó cũng chỉ hỗ trợ JPEG, PNG và TIF làm đầu vào và thiếu nhiều tính năng tiện lợi của img2pdf như kích thước trang, đường viền, xoay và siêu dữ liệu So sánh với Tesseract OCRTesseract OCR gần nhất với chức năng mà img2pdf cung cấp. Nó có thể chuyển đổi đầu vào JPEG và PNG sang PDF mà không cần tăng kích thước tệp một cách không cần thiết và đồng thời không mất dữ liệu. Vì vậy, nếu đầu vào của bạn là hình ảnh JPEG và PNG, thì bạn có thể sử dụng Tesseract thay vì img2pdf một cách an toàn. Đối với đầu vào khác, Tesseract có thể không thực hiện chuyển đổi không mất dữ liệu. Ví dụ: nó chuyển đổi đầu vào CMYK thành RGB và xóa kênh alpha khỏi hình ảnh có độ trong suốt. Đối với TIFF hoặc GIF động nhiều trang, nó sẽ chỉ chuyển đổi khung hình đầu tiên Làm cách nào để chuyển đổi sang PDF bằng Python?Trong bài viết này, bạn sẽ biết cách chuyển đổi văn bản và tệp văn bản sang PDF bằng Python. FPDF là một lớp Python cho phép tạo tệp PDF bằng mã Python. . Nhập lớp FPDF từ mô-đun fpdf thêm một trang Đặt phông chữ Chèn một ô và cung cấp văn bản Lưu pdf với “. phần mở rộng pdf” Có cách nào để biến ảnh thành PDF không?Bạn có thể chuyển đổi các tệp JPEG, PNG, BMP, GIF và TIFF thành tài liệu PDF bằng công cụ trực tuyến Acrobat .
Python có thể tạo PDF không?Một cách phổ biến để tạo tệp PDF là lưu tệp Word dưới dạng. pdf nhưng chúng ta cũng có thể tạo tệp PDF bằng Python . Ưu điểm? . |