diff --git a/example/album.py b/example/album.py index 803f273..ae555c6 100644 --- a/example/album.py +++ b/example/album.py @@ -16,7 +16,25 @@ photobook.set_auto_page_break(False) photobook.set_fig_folder("textures") photobook.one_centered("eugene.jpg", "one_centered default") photobook.one_centered("eugene.jpg", "") -photobook.one_centered("eugene.jpg", "one_centered text_ratio=1, img_ratio=1", text_ratio=1, img_ratio=1) +photobook.one_centered( + "eugene.jpg", + "one_centered text_ratio=1, img_ratio=1", + text_ratio=1, + img_ratio=1 +) +photobook.one_side("eugene.jpg", "one_side default") +photobook.one_side( + "eugene.jpg", + "one_side text_ratio=1, img_ratio=1", + text_ratio=1, + img_ratio=1 +) +photobook.one_side( + "eugene.jpg", + "one_side text_ratio=1, img_ratio=1", + text_ratio=1, + img_ratio=1 +) photobook.output(dest) diff --git a/photobook/photobook.py b/photobook/photobook.py index ebdd7ba..2215ec7 100644 --- a/photobook/photobook.py +++ b/photobook/photobook.py @@ -116,7 +116,10 @@ class Photobook(FPDF): self.add_page() total_ratio = img_ratio + text_ratio - text_size = (self.epw, (self.eph - self.sep) * text_ratio / total_ratio - self.sep) + text_size = ( + self.epw, + (self.eph - self.sep) * text_ratio / total_ratio - self.sep, + ) img_size = (self.epw, self.eph - text_size[1]) img_dest = self.img_process(img, img_size) @@ -130,22 +133,32 @@ class Photobook(FPDF): else: self.cell(text_size[0], text_size[1] - self.sep, text, align="C", border=1) - def one_side(self, img, txt=""): + def one_side( + self, + img, + txt="", + img_ratio=5, + text_ratio=1, + ): """Display the image on the outside of the page along with text on the other side """ self.add_page() p_no = self.page_no() - win_dim = (self.size[0] * 2 / 3, self.size[1]) + + total_ratio = img_ratio + text_ratio + + win_dim = (self.size[0] * img_ratio / total_ratio, self.size[1]) img_dest = self.img_process(img, win_dim) + if p_no % 2 == 1: self.set_xy(win_dim[0], self.size[1] / 2) - self.multi_cell(self.size[0] / 3, self.font_size, txt, align="C") + self.multi_cell(self.size[0] * text_ratio/ total_ratio, self.font_size, txt, align="C") self.image(img_dest, 0, 0, *win_dim) else: self.set_xy(0, self.size[1] / 2) - self.multi_cell(self.size[0] / 3, self.font_size, txt, align="C") - self.image(img_dest, self.size[0] / 3, 0, *win_dim) + self.multi_cell(self.size[0] * text_ratio / total_ratio, self.font_size, txt, align="C") + self.image(img_dest, self.size[0] * text_ratio / total_ratio, 0, *win_dim) def one_side_nocut(self, img, txt=""): """Display the image on the outside of the page without resize it""" @@ -299,5 +312,3 @@ class Photobook(FPDF): self.multi_cell(width, self.font_size, content, align="J", border=1) else: self.cell(width, height, content, align="C", border=1) - -