winziprint.py: Fix letterhead positioning
This commit is contained in:
@ -72,10 +72,15 @@ def convert(input_files: list[str],
|
||||
i = 0
|
||||
for n, file_name in enumerate(input_files):
|
||||
p0 = len(merger.pages)
|
||||
if letterhead and file_name.startswith('#'):
|
||||
merger.insert_page(letterhead[0], index=letterhead[1])
|
||||
merger.insert_blank_page(index=letterhead[1] + 1)
|
||||
page_nums[letterhead[1]] = 1
|
||||
letterhead = None
|
||||
if file_name.endswith('.pdf'):
|
||||
if file_name.startswith('#'):
|
||||
r = pypdf.PdfReader(file_name.lstrip('!#'))
|
||||
letterhead = r.pages[0]
|
||||
letterhead = (r.pages[0], p0)
|
||||
del r
|
||||
else:
|
||||
merger.append(file_name.lstrip('!#'))
|
||||
@ -84,7 +89,7 @@ def convert(input_files: list[str],
|
||||
page_start = sum(batch_page_nums[:i % BATCH_SIZE])
|
||||
if file_name.startswith('#'):
|
||||
r = pypdf.PdfReader(tmp_file_names[i // BATCH_SIZE])
|
||||
letterhead = r.pages[0]
|
||||
letterhead = (r.pages[0], p0)
|
||||
del r
|
||||
else:
|
||||
merger.append(tmp_file_names[i // BATCH_SIZE], pages=(page_start, page_start + tmp_page_nums[i]))
|
||||
@ -93,15 +98,18 @@ def convert(input_files: list[str],
|
||||
page_nums.append(p1 - p0)
|
||||
if padding and file_name[0] != '!' and len(merger.pages) % 2 != 0:
|
||||
if letterhead:
|
||||
merger.add_page(letterhead)
|
||||
merger.add_page(letterhead[0])
|
||||
letterhead = None
|
||||
else:
|
||||
merger.add_blank_page()
|
||||
if letterhead:
|
||||
merger.insert_page(letterhead, index=0)
|
||||
merger.insert_blank_page(index=1)
|
||||
page_nums.pop(0)
|
||||
page_nums.insert(0, 1)
|
||||
if len(merger.pages) <= letterhead[1]:
|
||||
merger.add_page(letterhead[0])
|
||||
merger.add_blank_page()
|
||||
else:
|
||||
merger.insert_page(letterhead[0], index=letterhead[1])
|
||||
merger.insert_blank_page(index=letterhead[1] + 1)
|
||||
page_nums[letterhead[1]] = 1
|
||||
merger.write(output_file)
|
||||
merger.close()
|
||||
del merger
|
||||
|
Reference in New Issue
Block a user