Application for text recognition on technical drawings and creating searchable PDF files.
PDF2Searchable uses OCR (Optical Character Recognition) technology based on PaddleOCR to recognize text on technical drawings and documents. The program creates a new version of the PDF file with recognized text that can be searched, copied, and highlighted.
- Text recognition on drawings and technical documents
- Creating searchable PDFs while preserving original formatting
- Graphical user interface for easy operation
- Batch processing of multiple files
- Configurable recognition parameters (font size, text offset)
- Support for various page orientations
- Python 3.13.5+ or higher
- Windows (tested on Windows 10/11)
- Minimum 4 GB RAM
- AMD processor (runs very slowly on Intel processors)
- GPU not utilized
Install python (exist in Install folder)
- Run
Start.bat- the program will automatically check and install required dependencies (you can choose (1) local installation from install\LocalPackages) - On first launch, all required packages will be installed
- Install Python 3.13.5+ from python.org
- Install dependencies:
pip install -r requirements.txt
- Ensure PaddleOCR models are in the
models/folder
- Run
Start.bator execute: or python gui_windowsv2.pyorStartHidden.vbs(shows only the GUI window and hides the terminal window)
-
Select an input PDF file via the "Select File" button
-
Specify the output path (or leave automatic)
-
Configure parameters if needed:
- Recognized text font size
- Vertical text offset (this parameter only shifts text blocks located above the middle of the page)
-
Click "Process" to start recognition
The program supports processing multiple files simultaneously. Select multiple files through the interface for batch processing.
- For PDF file preparation, use two utilities:
- PDF_Splitter: (split/merge large PDF files)
- PDF Compressor: (Compress ready searchable PDFs)
PDF2Searchable/
├── gui_windowsv2.py # Graphical interface
├── run_process_0100.py # Main PDF processing module
├── ocr_utils_fixed.py # OCR processing utilities
├── models/ # Local PaddleOCR models
│ ├── det/ # Text detection models
│ ├── rec/ # Text recognition models
│ ├── doc_orient/ # Orientation detection models
│ └── ...
├── Install/ # Installation files
├── requirements.txt # Python dependencies
├── Start.bat # Launch script
└── README.md # Documentation
The program uses the following default settings:
- OCR Engine: PaddleOCR v3.2
- Language: English
- Image Preprocessing: Automatic optimization for technical drawings
- Ensure Python 3.8+ is installed and added to PATH
- Check installation of all dependencies:
pip install -r requirements.txt - Run
Install/install_deps.pyfor automatic installation
- Check that models are present in the
models/folder - Ensure sufficient free disk space
- Intel processors run very slowly with PaddleOCR.
This project is distributed under the MIT License. See LICENSE for details.
The project uses the following third-party libraries:
- PaddleOCR (Apache 2.0)
- PyMuPDF (AGPL-3.0) -
⚠️ Please note AGPL-3.0 requirements - OpenCV-Python (Apache 2.0)
- NumPy (BSD 3-Clause)
- pikepdf (MPL-2.0)
- PaddlePaddle (Apache 2.0)
For a complete list of dependencies and their licenses, see THIRD_PARTY_LICENSES.md.
Important: PyMuPDF uses the AGPL-3.0 license, which is a copyleft license. When using, modifying, or distributing this project, ensure you comply with AGPL-3.0 requirements.
Aleksei Sokolov wisesokol@icloud.com
v3.0
Программа для распознавания текста на чертежах и создания searchable (поисковых) версий PDF файлов.
PDF2Searchable использует технологию OCR (Optical Character Recognition) на базе PaddleOCR для распознавания текста на технических чертежах и документах. Программа создает новую версию PDF файла с распознанным текстом, который можно искать, копировать и выделять.
- Распознавание текста на чертежах и технических документах
- Создание searchable PDF с сохранением оригинального форматирования
- Графический интерфейс для удобной работы
- Пакетная обработка нескольких файлов
- Настройка параметров распознавания (размер шрифта, смещение текста)
- Поддержка различных ориентаций страниц
- Python 3.13.5 или выше
- Windows (тестировалось на Windows 10/11)
- Минимум 4 ГБ оперативной памяти
- Процессор AMD (на процессорах Intel работает очень медленно)
- GPU не задействован
Установите Python (Доступен в папке Install)
- Запустите
Start.bat- программа автоматически проверит и установит необходимые зависимости (Вы можете выбрать опцию 1, она установит уже скачанные пакеты из папки Install\LocalPackages) - При первом запуске будут установлены все требуемые пакеты
- Установите Python 3.13.5+ с официального сайта python.org
- Установите зависимости:
pip install -r requirements.txt
- Убедитесь, что модели PaddleOCR находятся в папке
models/
- Запустите
Start.batили выполните: или python gui_windowsv2.pyилиStartHidden.vbs(показывает только окно GUI и скрывает окно терминала)
-
Выберите входной PDF файл через кнопку "Выбрать файл"
-
Укажите путь для сохранения результата (или оставьте автоматический)
-
Настройте параметры при необходимости:
- Размер шрифта распознанного текста
- Смещение текста по вертикали (данный параметр смещает только тексттовые блоки, находящиеся выше середины листа)
-
Нажмите "Обработать" для начала распознавания
Программа поддерживает обработку нескольких файлов одновременно. Выберите несколько файлов через интерфейс для пакетной обработки.
- Для подготовки файлов PDF используйте две утилиты:
- PDF_Splitter: (разбивка/слияние больших файлов PDF)
- PDF Compressor: (Сжатие готовых serachable PDF)
PDF2Searchable/
├── gui_windowsv2.py # Графический интерфейс
├── run_process_0100.py # Основной модуль обработки PDF
├── ocr_utils_fixed.py # Утилиты OCR обработки
├── models/ # Локальные модели PaddleOCR
│ ├── det/ # Модели детекции текста
│ ├── rec/ # Модели распознавания текста
│ ├── doc_orient/ # Модели определения ориентации
│ └── ...
├── Install/ # Файлы установки
├── requirements.txt # Зависимости Python
├── Start.bat # Скрипт запуска
└── README.md # Документация
Программа использует следующие настройки по умолчанию:
- OCR движок: PaddleOCR v3.2
- Язык: Английский
- Предобработка изображений: Автоматическая оптимизация для технических чертежей
- Убедитесь, что Python 3.8+ установлен и добавлен в PATH
- Проверьте установку всех зависимостей:
pip install -r requirements.txt - Запустите
Install/install_deps.pyдля автоматической установки
- Проверьте наличие моделей в папке
models/ - Убедитесь, что достаточно свободного места на диске
- Процессоры Intel работают очень медленно с PaddleOCR.
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.
Проект использует следующие сторонние библиотеки:
- PaddleOCR (Apache 2.0)
- PyMuPDF (AGPL-3.0) -
⚠️ Обратите внимание на требования AGPL-3.0 - OpenCV-Python (Apache 2.0)
- NumPy (BSD 3-Clause)
- pikepdf (MPL-2.0)
- PaddlePaddle (Apache 2.0)
Полный список зависимостей и их лицензий см. в файле THIRD_PARTY_LICENSES.md.
Важно: PyMuPDF использует лицензию AGPL-3.0, которая является копилефт-лицензией. При использовании, модификации или распространении этого проекта убедитесь, что вы соблюдаете требования AGPL-3.0.
Aleksei Sokolov wisesokol@icloud.com
v3.0

