page_splitter : support for 'as_is'
parent
adecf1f281
commit
b18408e9b2
|
|
@ -93,7 +93,7 @@ class PDFPreviewer:
|
|||
instructions = (
|
||||
"← / → : Move line 1cm left/right\n"
|
||||
"'c': Rotate page 180°, 'C' : rotate all pages, ',' : rotate all files\n"
|
||||
"t s r n: keep left, next page, keep none, keep right\n"
|
||||
"t s r n m: keep left, next page, keep none, keep right, keep as is\n"
|
||||
"z: send this page to the end, 'R':restart file, 'P':back to previous file\n"
|
||||
)
|
||||
self.info_label = tk.Label(master, text=instructions, justify=tk.LEFT)
|
||||
|
|
@ -118,6 +118,7 @@ class PDFPreviewer:
|
|||
self.master.bind(",", self.rotate_all_files)
|
||||
self.master.bind("t", self.keep_left)
|
||||
self.master.bind("n", self.keep_right)
|
||||
self.master.bind("m", self.keep_as_is)
|
||||
self.master.bind("s", self.confirm_and_next_page)
|
||||
self.master.bind("r", self.discard_page)
|
||||
self.master.bind("z", self.send_page_end)
|
||||
|
|
@ -252,6 +253,8 @@ class PDFPreviewer:
|
|||
self.confirm_and_next_page(keep="right")
|
||||
def discard_page(self, event=None):
|
||||
self.confirm_and_next_page(keep="none")
|
||||
def keep_as_is(self, event=None):
|
||||
self.confirm_and_next_page(keep="as_is")
|
||||
def send_page_end(self, event=None):
|
||||
# Do nothing if we are already at or past the last page
|
||||
if self.current_page_index >= len(self.doc) - 1:
|
||||
|
|
@ -396,6 +399,17 @@ class PDFPreviewer:
|
|||
rotation = (page.rotation + rotation_settings +
|
||||
self.file_rotation + self.global_rotation) % 360
|
||||
|
||||
if keep == "as_is":
|
||||
doc_full = fitz.open()
|
||||
page_full = doc_full.new_page(width=page.rect.width, height=page.rect.height)
|
||||
page_full.show_pdf_page(page_full.rect, self.doc, i)
|
||||
page_full.set_rotation(rotation)
|
||||
|
||||
output_path_full = self.split_filename_left(i)
|
||||
doc_full.save(output_path_full)
|
||||
doc_full.close()
|
||||
continue # Skip left/right generation
|
||||
|
||||
# --- Create Left Part ---
|
||||
if rotation == 0:
|
||||
rect_left = fitz.Rect(0, 0, line_x, page.rect.height)
|
||||
|
|
@ -454,7 +468,7 @@ class PDFPreviewer:
|
|||
i += 2
|
||||
else:
|
||||
psk = ps[i]['keep']
|
||||
if psk == "left" or psk == "both":
|
||||
if psk == "left" or psk == "both" or psk == "as_is":
|
||||
shutil.copy2(self.split_filename_left(i), self.reorder_filename(ri))
|
||||
ri += 1
|
||||
if psk == "right" or psk == "both":
|
||||
|
|
|
|||
Loading…
Reference in New Issue