BigUpdate
Python application / build (push) Has been cancelled

This commit is contained in:
Igor20264
2026-09-03 10:44:08 +03:00
parent d2da20fdb2
commit 516abe7b83
177 changed files with 40178 additions and 2 deletions
+30
View File
@@ -0,0 +1,30 @@
from typing import Generator
from docx.shared import Parented, Pt
from docx.text.paragraph import Paragraph as DocxParagraph
from .paragraph_sizer import ParagraphSizer
from ..layout_tracker import LayoutState
from ..rendered_info import RenderedInfo
from ..sub_renderable import SubRenderable
from ..util import create_element
from .renderable import Renderable
class PageBreak(Renderable):
def __init__(self, parent: Parented):
self._docx_paragraph = DocxParagraph(create_element("w:p", [
create_element("w:r", [
create_element("w:br", {"w:type": "page"})
])
]), parent)
self._docx_paragraph.runs[0].font.size = Pt(1)
self._docx_paragraph.paragraph_format.space_before = 0
self._docx_paragraph.paragraph_format.space_after = 0
def render(self, previous_rendered: RenderedInfo, layout_state: LayoutState)\
-> Generator[RenderedInfo | SubRenderable, None, None]:
yield RenderedInfo(
self._docx_paragraph,
max(layout_state.remaining_page_height, ParagraphSizer(self._docx_paragraph, None, layout_state.max_width).calculate_height().line_height)
)