/
maratn
/
CheckPDF
Обзор
Документация
Войти
/
maratn
/
CheckPDF
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main.py
74 строки
2 KB
Marat
fix error check_numbers_sheets
15 мар 2026, 07:50
15 мар 2026, 07:50
bd59615
Код
Авторство
О чём код?
from pypdf import PdfReader from tqdm import tqdm import CheckAllPages import DoubleAndLostPages import check_numbers_sheets def gen_list_pages(reader): list_pages = [] PAGES = len(reader.pages) for i in tqdm(range(PAGES), desc="Generating a list"): # Получаем конкретную страницу (например, первую - 0) a_page = reader.pages[i] text_1 = text(a_page, line) if isinstance(text_1, str) and (text_1.isalpha() and len(text_1) == 1): # текст из одной буквы заменяем на номер листа в скобках list_pages.append('('+str(i+1)+')') else: list_pages.append(text_1) return list_pages def text(page, line): # Извлекаем текст text = page.extract_text() if text: data = text.split('\n') # cleaned_data = [x for x in data if x] # cleaned_data = [s.split()[-1] for s in data if s.strip()] cleaned_data = [s for s in data if s.strip()] return cleaned_data[line] file_a = input('Enter link to a pdf file:\n') while file_a: if file_a[0] == "'" or file_a[0] == '"': file_a = file_a[1:-1] reader = PdfReader(file_a) try: to_search = int(input('How to checking?:\n1 - Contiguous sheets\n\ 2 - All sheets\n3 - Count pages (default)\n')) except: to_search = 3 line = input('Where is the number of pages?:\n0 - top, \n-1 - bottom(default)\n') try: line = int(line) except: line = -1 list_pages = gen_list_pages(reader) match to_search: case 1: DoubleAndLostPages.searchDoublePages(list_pages) case 2: CheckAllPages.search_all_pages(list_pages) case 3: list_pages = check_numbers_sheets.numbers_sheets(list_pages) p = input('Do you want print a list of pages? (y/N(default));\n') if p == 'y': for n, k in enumerate(list_pages): print('page:', n+1, 'text:', k) file_a = input('Enter link to next pdf file:\n')