#python #image #margin #fpdf
Вопрос:
Я нашел хороший код для создания всего .img
в одном большом pdf-файле, но у меня есть небольшая проблема. Я не знаю, как работают правила для разницы между изображениями. У меня есть переменное количество картинок в моих каталогах, 66 картинок, в других 32, 72, и я хотел бы 4 картинки в строке и 4 в столбце, а после этого создайте еще одну страницу в моем pdf-файле, возможно ли это?
моя функция
class MyFPDF(FPDF): pass def photos_pdf(): pdf = MyFPDF("L", format='A4', unit='mm') photos = glob.glob(filePath1 "/*") x = 5 # marge gauche y = 5 # marge haute counter = 0 nbre = 3 # NOMBRE DE VIGNETTES PAR LIGNES nbre_par_page = 9 counter2 = 0 pdf.add_page() for photo in photos: if counter2 != nbre_par_page: if counter != (nbre): pdf.image(photo, x=x, y=y, w=63, h=88) x = 79 counter = 1 counter2 = 1 else: counter = 0 x = 20 y = 72 else: pdf.add_page() counter = 0 counter2 = 0 x = 20 y = 10 pdf.output(filePath1 "/A4_cards.pdf", 'F') photos_pdf()
Ответ №1:
Первое изменение
nbre = 4 # NOMBRE DE VIGNETTES PAR LIGNES
тоже nbre_par_page = 16
это должно инициировать компоновку 4×4
Но затем вам понадобится размер img, чтобы сначала соответствовать существующим полям, поэтому попробуйте
pdf.image(photo, x=x, y=y, w=47, h=66)
затем отрегулируйте эти и другие значения, чтобы увидеть эффекты.
Для ландшафтного макета вам потребуется сохранить вторую копию с другими значениями, где ширина соответственно больше высоты.
Комментарии:
1. спасибо за ответ, извините, я хотел бы 3 картинки подряд и 9 страниц по страницам, но это не работает, у меня всего 4 картинки в правильном pdf