winziprint.py: Fix bug where letterhead from tmp_file is only first page

This commit is contained in:
2024-03-02 18:35:20 +01:00
parent 7945e0ae8a
commit 75689983df

View File

@ -16,7 +16,7 @@ import weasyprint
import pypdf
VERSION = __version__ = '0.2.2'
VERSION = __version__ = '0.2.3'
SOCKET_ADDRESS = ('127.0.0.1', 30983)
BATCH_SIZE = 10
@ -87,12 +87,13 @@ def convert(input_files: list[str],
else:
batch_page_nums = tmp_page_nums[i // BATCH_SIZE * BATCH_SIZE:(i // BATCH_SIZE + 1) * BATCH_SIZE]
page_start = sum(batch_page_nums[:i % BATCH_SIZE])
tmp_file_name = tmp_file_names[i // BATCH_SIZE]
if padding and file_name.startswith('#'):
r = pypdf.PdfReader(tmp_file_names[i // BATCH_SIZE])
letterhead = (r.pages[0], p0)
r = pypdf.PdfReader(tmp_file_name)
letterhead = (r.pages[page_start], p0)
del r
else:
merger.append(tmp_file_names[i // BATCH_SIZE], pages=(page_start, page_start + tmp_page_nums[i]))
merger.append(tmp_file_name, pages=(page_start, page_start + tmp_page_nums[i]))
i += 1
p1 = len(merger.pages)
page_nums.append(p1 - p0)