diff --git a/docs/user-guide.pdf b/docs/user-guide.pdf index d11bca6..831cb35 100644 Binary files a/docs/user-guide.pdf and b/docs/user-guide.pdf differ diff --git a/tools/guide/build_pdf.py b/tools/guide/build_pdf.py index 0dd6bd0..83c07ee 100644 --- a/tools/guide/build_pdf.py +++ b/tools/guide/build_pdf.py @@ -191,6 +191,9 @@ class Guide(FPDF): self.set_font("D", "", 9.5) lines = self.mc(w - 8, 4.9, t, dry_run=True, output="LINES") h = max(len(lines) * 4.9, 5.6) + 1.8 + if y + h > 282: # не влезает — пункт на следующую страницу (иначе автоперенос даёт пустые страницы) + self.add_page() + y = self.get_y() self._badge(x, y + 0.2, n) self.set_xy(x + 8, y) self.set_text_color(*DARK) @@ -202,16 +205,20 @@ class Guide(FPDF): def wide(self, name, caption, width=174): """Рисунок на всю ширину + легенда под ним.""" buf, (w, h) = self._jpg(name) - ih = width * h / w labels = LABELS.get(name, []) + max_ih = 150 if labels else 230 # высокий снимок уменьшаем, чтобы с подписями уместился на странице + if width * h / w > max_ih: + width = max_ih * w / h + ih = width * h / w + x0 = 18 + (174 - width) / 2 need = ih + 8 + len(labels) * 7 if self.get_y() + need > 276: self.add_page() self.fig += 1 y = self.get_y() self.set_draw_color(205, 210, 220) - self.image(buf, 18, y, w=width) - self.rect(18, y, width, ih) + self.image(buf, x0, y, w=width) + self.rect(x0, y, width, ih) y += ih + 2 self.set_xy(18, y) self.set_font("D", "B", 9)