Skip to content

Commit 69ea862

Browse files
authored
Section.page_count contains number of pdf pages that has been generated for section after add_section call. (#97)
1 parent 137fedd commit 69ea862

5 files changed

Lines changed: 19 additions & 5 deletions

File tree

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,15 @@ pdf = MarkdownPdf(toc_level=2, optimize=True)
4242
```
4343

4444
Add the first section to the pdf. The title is not included in the table of contents.
45+
After adding a section to a pdf, the `page_count` property in the section contains the number of pdf pages created for the added section.
4546

4647
```python
4748
from markdown_pdf import Section
4849

49-
pdf.add_section(Section("# Title\n", toc=False))
50+
section = Section("# Title\n", toc=False)
51+
assert section.page_count == 0
52+
pdf.add_section(section)
53+
assert section.page_count == 1
5054
```
5155

5256
Add a second section with external and internal hyperlinks.

README_ru.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ pdf = MarkdownPdf(toc_level=2)
3636
```
3737

3838
Добавляем в pdf первую секцию. Заголовок не включаем в оглавление.
39+
После добавления секции в pdf свойство `page_count` у секции содержит количество созданных страниц pdf для добавленной секции.
3940

4041
```python
4142
from markdown_pdf import Section
4243

43-
pdf.add_section(Section("# Title\n", toc=False))
44+
section = Section("# Title\n", toc=False)
45+
assert section.page_count == 0
46+
pdf.add_section(section)
47+
assert section.page_count == 1
4448
```
4549

4650
Добавляем вторую секцию с внешними и внутренними гипер-ссылками.

history.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
+ Section.page_count contains number of pdf pages that has been generated for section after add_section call.
2+
13
12.02.2026 ver.1.12
24
-------------------
35

markdown_pdf/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def __init__(
2828
self.text = text
2929
self.toc = toc
3030
self.root = root
31+
self.page_count = 0
3132

3233
self.paper_size = paper_size
3334
if isinstance(paper_size, str):
@@ -120,6 +121,7 @@ def add_section(self, section: Section, user_css: typing.Optional[str] = None) -
120121
more = 1
121122
while more: # loop outputting the story
122123
self.page_num += 1
124+
section.page_count += 1
123125
device = self.writer.begin_page(section.rect)
124126
more, _ = story.place(where) # layout into allowed rectangle
125127
story.element_positions(self._recorder, {"toc": section.toc, "pdfile": self})

tests/test/test_converter.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ def test_hrefs(self):
7878
"""Convert hrefs content to pdf."""
7979
from markdown_pdf import Section, MarkdownPdf
8080

81+
sect = Section(open(self.fixture("hrefs.md"), "rt", encoding='utf-8').read())
82+
assert sect.page_count == 0
8183
pdf = MarkdownPdf()
82-
pdf.add_section(
83-
Section(open(self.fixture("hrefs.md"), "rt", encoding='utf-8').read())
84-
)
84+
pdf.add_section(sect)
85+
assert sect.page_count == 1
86+
8587
pdf.save(self.build("hrefs.pdf"))
8688

8789
def test_bytes(self):

0 commit comments

Comments
 (0)