OCR форумы Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Всем привет!
Hi all!
 
  ГлавнаяСправкаПоискВходРегистрация Администратор Библиотека  
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать
Метод разделённых сканов на Linux (Прочитано 292 раз)
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Метод разделённых сканов на Linux
23.04.2026 :: 09:41:32
 
Здравствуйте. Я недавно перешёл на Arch Linux, и у меня получилось воспроизвести функционал программ для Windows.

Обработка сканов:

Scan Tailor Universal

Code:
yay -S scantailor-universal-git 



Метод разделённых сканов:

Написал нативный скрипт для Линукс, который использует утилиты djvulibre. Не надо ставить DjVu Imager или FSD через Wine.

sep.sh:

Code:
#!/bin/bash

# configuration
DPI=600
OUT_NAME="final.djvu"
TEMP_DIR="tmp"

mkdir -p "$TEMP_DIR"

# loop through layer files
for text_layer in *.tif; do
    # skip .sep.tif files
    [[ "$text_layer" == *.sep.tif ]] && continue
   
    base=$(basename "$text_layer" .tif)
    illus_layer="${base}.sep.tif"
   
    echo "Processing Page: $base"

    # foreground
    # create bitonal mask chunk (Sjbz)
    cjb2 -dpi $DPI "$text_layer" "$TEMP_DIR/$base.fg.djvu"

    # backgroud
    if [ -f "$illus_layer" ]; then
        # convert to PPM
        magick "$illus_layer" "$TEMP_DIR/$base.bg.ppm"
       
        # create temporary photo DjVu
        c44 -dpi $DPI "$TEMP_DIR/$base.bg.ppm" "$TEMP_DIR/$base.bg.djvu"
       
        # extract IW44 chunk
        djvuextract "$TEMP_DIR/$base.bg.djvu" BG44="$TEMP_DIR/$base.bg.chunk"

        # assemble masked page
        djvumake "$TEMP_DIR/$base.combined.djvu" \
            "INFO=,,$DPI" \
            Sjbz="$TEMP_DIR/$base.fg.djvu" \
            BG44="$TEMP_DIR/$base.bg.chunk"
    else
        # no illustrations - just use the text layer
        cp "$TEMP_DIR/$base.fg.djvu" "$TEMP_DIR/$base.combined.djvu"
    fi
done

# bind all pages
echo "Bundling into $OUT_NAME..."
djvm -c "$OUT_NAME" "$TEMP_DIR"/*.combined.djvu

# clean up
rm -rf "$TEMP_DIR"
echo "Done."
 



OCR:

Я попытался поставить FineReader через Wine, но он не пашет.

Остаётся Tesseract:

Code:
pip install ocrdjvu 



Программу для создания оглавления пока не нашёл.
Наверх
« Последняя редакция: 24.04.2026 :: 17:43:45 от legen848dary »  
 
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #1 - 23.04.2026 :: 10:48:47
 
Пробный результат:

https://disk.yandex.ru/d/HgPaHrGbY8bW-Q

Иллюстрации на страницах: 2, 15, 39, 64, 67
Наверх
 
 
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #2 - 24.04.2026 :: 16:33:17
 
FineReader 15 получилось поставить через Wine.

FR crutch запускается через Wine. (Это программа чтобы пересадить и исправить текстовый слой)

PDF & DjVu Bookmarker не устанавливается. Нашёл bookmark-djvu:

https://aur.archlinux.org/packages/bookmark-djvu

Document Express Editor 6 запускается через Wine. (Программа чтобы вставить обложку)
Наверх
« Последняя редакция: 24.04.2026 :: 16:54:35 от legen848dary »  
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5897
Екатеринбург
Пол: male
Re: Метод разделённых сканов на Linux
Ответ #3 - 24.04.2026 :: 17:06:14
 
вы указывайте версии вайна. ибо их куча, и во многих всё сильно по разному работает. На работе почти год мучаюсь.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #4 - 24.04.2026 :: 17:41:03
 
wine-11.6

FineReader 15 взял с рутрекера. Установщик, не portable. Автор раздачи - VlsVl.

Другие программы нашёл либо на этом форуме, либо тут:

https://www.djvu-soft.narod.ru/soft/

https://forum.ru-board.com/topic.cgi?forum=5&topic=38467

Вот мой zip-архив, из него EXE-файлы использовал:

https://disk.yandex.ru/d/odtW8TX4diIVsg

Book Restorer тоже встаёт через Wine. (Программа для выправления текста)

Наверх
« Последняя редакция: 24.04.2026 :: 18:03:33 от legen848dary »  
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5897
Екатеринбург
Пол: male
Re: Метод разделённых сканов на Linux
Ответ #5 - 24.04.2026 :: 18:10:38
 
legen848dary писал(а) 24.04.2026 :: 17:41:03:
wine-11.6

Улыбка
я не спец по wine, но ИМХО надо указывать и репозиторий/место/автора/форк etc. Ибо есть например wine от etersoft, и даже он различается как коммерческий и некоммерческий.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #6 - 24.04.2026 :: 18:41:08
 
Наверх
 
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5897
Екатеринбург
Пол: male
Re: Метод разделённых сканов на Linux
Ответ #7 - 24.04.2026 :: 18:57:14
 
под какую совместимость создавать префикс(ы)? разрядность, версия винды. Надо ли прописывать переменные или править реестр?
чего я клещами тяну, вы же сами тему завели.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #8 - 24.04.2026 :: 19:52:58
 
У меня настройки по умолчанию стоят.

Windows 10. Разрядность не написана.

Реестр не нужен.

У меня стоит:
.NET
Microsoft Visual C++ 2015 Redistributable
MSXML

Устанавливал через winetricks:

winetricks dotnet20 dotnet48 vcrun2015 msxml6
Наверх
« Последняя редакция: 29.04.2026 :: 01:23:54 от legen848dary »  
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5897
Екатеринбург
Пол: male
Re: Метод разделённых сканов на Linux
Ответ #9 - 24.04.2026 :: 20:36:08
 
спасибо!

а интересно - DSM под вайном пашет? не пробовали? всё-таки лизардтех лучше кодит.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
legen848dary
Новичок
*
Вне Форума


Всем привет!

Сообщений: 7
Re: Метод разделённых сканов на Linux
Ответ #10 - 24.04.2026 :: 21:12:22
 
DjVu Small Mod v0.7.6.1 у меня не запустился.
Наверх
« Последняя редакция: 24.04.2026 :: 21:51:57 от legen848dary »  
 
IP записан
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать