Объединение нескольких PNG в один PDF-файл в Python
Мне интересно, если есть простой способ объединить несколько изображений PNG в один PDF-файл в Python. Я хочу, чтобы каждое изображение было одной страницей в формате PDF. Является ли pypdf лучшей библиотекой для этого? Любая помощь будет принята с благодарностью.
Спасибо!
5 ответов
from PIL import Image
image1 = Image.open(r'C:/Users/uidg3972/Desktop/New folder/Gopi24.jpg')
image2 = Image.open(r'C:/Users/uidg3972/Desktop/New folder/Gopi-1.jpg')
image3 = Image.open(r'C:/Users/uidg3972/Desktop/New folder/SNP_1291.jpg')
im1 = image1.convert('RGB')
im2 = image2.convert('RGB')
im3 = image3.convert('RGB')
imagelist = [im1,im2,im3]
im1.save(r'C:/Users/uidg3972/Desktop/New folder/mergedImages.pdf',save_all=True,
append_images=imagelist)
У меня такая же проблема.
Итак, я создал функцию Python для объединения нескольких изображений в один PDF. Код доступен на моей странице github по https://github.com/wizard1989/Unite-multiple-pictures-into-pdf. Он использует "reportlab".
Код основан на ответах по следующим ссылкам:
Создать PDF из списка изображений
Объединение нескольких PNG в один PDF-файл в Python
PNG изображения в один PDF в Python
Как я могу преобразовать все файлы JPG в папке в PDF-файлы и объединить их? https://www.blog.pythonlibrary.org/2012/01/07/reportlab-converting-hundreds-of-images-into-pdfs/
Вот пример того, как объединить изображения в PDF.
У нас есть папка "D:\pictures" с изображениями типов png и jpg. Мы хотим создать из них файл pdf_with_pictures.pdf и сохранить его в той же папке.
outputPdfName = "pdf_with_pictures"
pathToSavePdfTo = "D:\\pictures"
pathToPictures = "D:\\pictures"
splitType = "none"
numberOfEntitiesInOnePdf = 1
listWithImagesExtensions = ["png", "jpg"]
picturesAreInRootFolder = True
nameOfPart = "volume"
unite_pictures_into_pdf(outputPdfName, pathToSavePdfTo, pathToPictures, splitType, numberOfEntitiesInOnePdf, listWithImagesExtensions, picturesAreInRootFolder, nameOfPart)
Есть порт Python для WKHtmlToPdf
:
https://pypi.python.org/pypi/wkhtmltopdf/0.1
Легко создавать разрывы страниц между img
теги в HTML-документ, используя CSS, который вы можете передать в эту библиотеку.
Этот код Python преобразует несколько изображений png в один PDF-файл в формате A4:
i = 0
image_list = []
for x in range(0,5):
image = Image.open(f'/content/image{i}.png')
image = image.resize((1250,800))
im = Image.new('RGB',
(1240 , 1754),
(255, 255, 255))
im.paste(image,image.getbbox())
image_list.append(im)
i+=1
image_list[0].save(r'/content/pdfs.pdf', 'PDF', quality=100,
save_all=True, append_images=image_list[1:])