易语言可以建设网站吗,网站设计策略,论坛推广的步骤,建站平台哪家好一、说明 如何使得图像转化成pdf文件#xff0c; 想要将一个或多个图像转换为 PDF 文档#xff1f;看看img2pdf和PyPDF2软件包就是您的最佳选择。 二、需要哪些程序包#xff1f; 首先#xff0c;您只需要一个 Python 环境#xff0c;最好是 3.10 或更高版本。本教程中的代… 一、说明 如何使得图像转化成pdf文件 想要将一个或多个图像转换为 PDF 文档看看img2pdf和PyPDF2软件包就是您的最佳选择。 二、需要哪些程序包 首先您只需要一个 Python 环境最好是 3.10 或更高版本。本教程中的代码是在使用 Python 3.10.12 的 Google Colab 环境中执行的。 第一步是确保在 Python 环境中安装以下包 img2pdfPyPDF2Pillow Pip 可用于在 Colab 中安装这些软件包 !pip install img2pdf PyPDF2 Pillow 第一个包img2pdf将用于将图像转换为PDF文件。然后PyPDF2 可用于将多个 PDF 合并为一个 PDF 文件。枕头是一个图像处理库;它提供了转换所需的附加功能。 现在可以导入这些包以及 和 。osgoogle.colab # required libraries
import os
import img2pdf
import PyPDF2
from PIL import Image
from google.colab import files 三、img2pdf官方文档 img2pdf是一个开源的Python包用于将图像转换为pdf格式。它包括另一个模块枕头也可用于增强图像亮度对比度和其他东西 使用此命令安装软件包 pip install img2pdf 以下是实现图像可以使用img2pdf模块提供的img2pdf.convert函数转换为pdf字节然后在wb模式下打开pdf文件并用字节写入。 python # Python3 program to convert image to pdf # using img2pdf library # importing necessary libraries import img2pdf from PIL import Image import os # storing image path img_path C:/Users/Admin/Desktop/GfG_images/do_nawab.png # storing pdf path pdf_path C:/Users/Admin/Desktop/GfG_images/file.pdf # opening image image Image.open(img_path) # converting into chunks using img2pdf pdf_bytes img2pdf.convert(image.filename) # opening or creating pdf file file open(pdf_path, wb) # writing pdf files with chunks file.write(pdf_bytes) # closing image file image.close() # closing pdf file file.close() # output print(Successfully made pdf file) 输出 Successfully made pdf file 四、准备映像 在编写更多代码之前了解每个图像的文件位置非常重要。为了尽可能简化此操作可以在 Colab 环境中创建一个新文件夹 !mkdir images 所有图像都需要使用 提供的上传程序同时上传到此位置。这些文件将根据其名称进行排序因此它们应命名为类似 .google.colabpage1.png, page2.png, ..., page9.png os.chdir(images)
files.upload() 将图像存储在已知的文件位置后其名称可以存储在列表中。 imgs os.listdir()
imgs.sort() 如果图像超过 9 个则此方法可能会出现问题应按文件所需的顺序创建列表。 五、将图像转换为 PDF 然后可以使用 for 循环遍历每个图像将其转换为 PDF并将其写入名为 的新文件夹。pdfs # create a folder called pdfs
os.mkdir(../pdfs)# loop over each image
for ind, img in enumerate(imgs):# open each imagewith Image.open(img) as image: # convert the image to a PDFpdf img2pdf.convert(image.filename)# write the PDF to its final destinationwith open(f../pdfs/pdf{ind1}.pdf, wb) as file:file.write(pdf)print(fConverted {img} to pdf{ind1}.pdf) 六、合并文档 将图像转换为 PDF 文件后可以独立使用并使用 下载它们也可以将它们合并在一起。要将文件合并在一起请提取 PDF 文件列表并按页码对其进行排序。files.download(filename.pdf) os.chdir(../pdfs)
pdfs os.listdir() 同样如果有超过 9 个图像或 PDF它们应按各自的顺序存储在列表中。 对象可用于将每个 PDF 连接成单个文件。PdfMerger pdfMerge PyPDF2.PdfMerger()# loop through each pdf page
for pdf in pdfs:# open each pdfwith open(pdf, rb) as pdfFile:# merge each filepdfMerge.append(PyPDF2.PdfReader(pdfFile))# write the merged pdf
pdfMerge.write(merged.pdf)# download the final pdf
files.download(merged.pdf) 最终合并的PDF将按其各自名称的顺序包含每个图像。 七、完整程序 完整的代码可以在下面找到。它是高度可定制的以满足大多数用例。 !pip install img2pdf PyPDF2 Pillow
!mkdir images
# required libraries
import os
import img2pdf
import PyPDF2
from PIL import Image
from google.colab import filesos.chdir(images)
files.upload()
imgs os.listdir()# create a folder called pdfs
os.mkdir(../pdfs)# loop over each image
for ind, img in enumerate(imgs):# open each imagewith Image.open(img) as image: # convert the image to a PDFpdf img2pdf.convert(image.filename)# write the PDF to its final destinationwith open(f../pdfs/pdf{ind1}.pdf, wb) as file:file.write(pdf)print(fConverted {img} to pdf{ind1}.pdf)os.chdir(../pdfs)
pdfs os.listdir()
pdfs.sort()pdfMerge PyPDF2.PdfMerger()# loop through each pdf page
for pdf in pdfs:# open each pdfwith open(pdf, rb) as pdfFile:# merge each filepdfMerge.append(PyPDF2.PdfReader(pdfFile))# write the merged pdf
pdfMerge.write(merged.pdf)# download the final pdf
files.download(merged.pdf) 八、引用 https://www.geeksforgeeks.org/python-convert-image-to-pdf-using-img2pdf-module/Merging PDFs with Python | Python-bloggers 亨特·菲利普斯 ·