File size: 836 Bytes
f745baf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import fitz
from PIL import Image

def update_page(file_path, page_num, direction):
    if page_num is None:
        page_num = 0
    new_page_num = page_num + direction
    img, actual_page_num, total_pages = get_pdf_page(file_path, new_page_num)
    return img, f"Page {actual_page_num + 1} of {total_pages}", actual_page_num

def get_pdf_page(file_path, page_num):
    doc = fitz.open(file_path)
    page_count = len(doc)
    page_num = max(0, min(page_num, page_count - 1))  # Ensure page_num is within bounds
    page = doc.load_page(page_num)
    pix = page.get_pixmap()
    img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
    return img, page_num, page_count

def load_pdf(file_path):
    img, page_num, total_pages = get_pdf_page(file_path, 0)
    return img, f"Page {page_num + 1} of {total_pages}", page_num