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