эл. книги в формате .djvu
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
эл. книги в формате .djvu
Вопрос вот в чём: формат DJVU (как и FB2, скажем) не является таким уж стандартным для IT технологий, он придуман любителями эл. книг для более компактного (в первую очередь) и более комфортного (во вторую) представления книг: с картинками, обложками, иллюстрациями и т.д.
Вопрос: каким инструментарием лучше работать с DJVU?
А заодно: и то, как вообще хоть как-то просматривать DJVU-документы ... в свеже установленной системе ... или для начинающих.
Попутно: как трансформировать файлы в и из DJVU ?
Вопрос: каким инструментарием лучше работать с DJVU?
А заодно: и то, как вообще хоть как-то просматривать DJVU-документы ... в свеже установленной системе ... или для начинающих.
Попутно: как трансформировать файлы в и из DJVU ?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: эл. книги в формате .djvu
И это отнюдь не очевидно...Olej писал(а): А заодно: и то, как вообще хоть как-то просматривать DJVU-документы ... в свеже установленной системе ... или для начинающих.
Потому что я работаю с DJVU (разными программными инструментами!) лет 5 ... но вот в свежей установленной системой (самой свежей их возможных на дату написания):
Код: Выделить всё
[olej@localhost Книги]$ lsb_release -ircd
Distributor ID: Fedora
Description: Fedora release 23 (Twenty Three)
Release: 23
Codename: TwentyThree
[olej@localhost Книги]$ uname -a
Linux localhost.localdomain 4.4.9-300.fc23.x86_64 #1 SMP Wed May 4 23:56:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Начинаем вновь пляски с бубном...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: эл. книги в формате .djvu
Olej писал(а): Начинаем вновь пляски с бубном...
Код: Выделить всё
[olej@localhost ~]$ dnf list *djvu*
Последняя проверка окончания срока действия метаданных: 18 days, 23:35:47 назад, Sun May 1 15:47:26 2016.
Доступные пакеты
ImageMagick-djvu.x86_64 6.9.2.7-1.fc23 updates
djvulibre.x86_64 3.5.25.3-17.fc23 fedora.
djvulibre-devel.i686 3.5.25.3-17.fc23 fedora.
djvulibre-devel.x86_64 3.5.25.3-17.fc23 fedora.
djvulibre-libs.i686 3.5.25.3-17.fc23 fedora.
djvulibre-libs.x86_64 3.5.25.3-17.fc23 fedora.
evince-djvu.x86_64 3.18.2-4.fc23 updates
pdf2djvu.x86_64 0.7.21-2.fc23 fedora.
python-djvulibre.x86_64 0.3.9-4.fc22 fedora.
python-djvulibre-doc.noarch 0.3.9-4.fc22 fedora.
zathura-djvu.x86_64 0.2.5-1.fc23 updates
Код: Выделить всё
[olej@localhost ~]$ sudo dnf install evince-djvu
[sudo] пароль для olej:.
Последняя проверка окончания срока действия метаданных: 1:33:02 назад, Fri May 20 16:18:09 2016.
Зависимости разрешены.
===========================================================================================================================
Package Архитектура Версия Репозиторий Размер
===========================================================================================================================
Установка:
evince-djvu x86_64 3.18.2-4.fc23 updates 54 k
Результат операции
===========================================================================================================================
Установка 1 Пакет
Объем загрузки: 54 k
Объем изменений: 54 k
Продолжить? [д/Н]: y
Загрузка пакетов:
evince-djvu-3.18.2-4.fc23.x86_64.rpm 357 kB/s | 54 kB 00:00....
---------------------------------------------------------------------------------------------------------------------------
Общий размер 32 kB/s | 54 kB 00:01.....
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Установка : evince-djvu-3.18.2-4.fc23.x86_64 1/1.
Проверка : evince-djvu-3.18.2-4.fc23.x86_64 1/1.
Установлено:
evince-djvu.x86_64 3.18.2-4.fc23.........................................................................................
Выполнено!
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: эл. книги в формате .djvu
Ещё :Olej писал(а): Самый простой способ:
Код: Выделить всё
[olej@localhost ~]$ sudo dnf install djvulibre
[sudo] пароль для olej:
Последняя проверка окончания срока действия метаданных: 0:11:49 назад, Fri May 20 18:21:12 2016.
Зависимости разрешены.
=======================================================================================================================================
Package Архитектура Версия Репозиторий Размер
=======================================================================================================================================
Установка:
djvulibre x86_64 3.5.25.3-17.fc23 fedora 483 k
Результат операции
=======================================================================================================================================
Установка 1 Пакет
Объем загрузки: 483 k
Объем изменений: 1.3 M
Продолжить? [д/Н]: y
Загрузка пакетов:
djvulibre-3.5.25.3-17.fc23.x86_64.rpm 320 kB/s | 483 kB 00:01
---------------------------------------------------------------------------------------------------------------------------------------
Общий размер 160 kB/s | 483 kB 00:03
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Установка : djvulibre-3.5.25.3-17.fc23.x86_64 1/1
Проверка : djvulibre-3.5.25.3-17.fc23.x86_64 1/1
Установлено:
djvulibre.x86_64 3.5.25.3-17.fc23
Выполнено!
Код: Выделить всё
[olej@localhost bin]$ ls /usr/bin/*dj*
/usr/bin/any2djvu /usr/bin/ddjvu /usr/bin/djvudigital /usr/bin/djvumake /usr/bin/djvuserve /usr/bin/djvuxmlparser
/usr/bin/cpaldjvu /usr/bin/djvm /usr/bin/djvudump /usr/bin/djvups /usr/bin/djvutoxml /usr/bin/gsdj
/usr/bin/csepdjvu /usr/bin/djvmcvt /usr/bin/djvuextract /usr/bin/djvused /usr/bin/djvutxt /usr/bin/gsdj500
Утилиты
DjView — небольшая программа с графическим интерфейсом для просмотра файлов в формате DjVu.
Также в пакет DjVuLibre входит большое количество консольных утилит для выполнения различных операций над DjVu-файлами[2]:
any2djvu — онлайн-конвертирование различных графических форматов в формат DjVu[3].
bzz — кодирование/декодирование алгоритмом BZZ, который часто используется в DJVU-файлах.
c44 — конвертирование в DjVu цветных изображений в формате PPM или JPEG.
cjb2 — конвертирование в DjVu бинарных изображений (однотоновых чёрно-белых) в формате PBM или TIFF.
cpaldjvu — конвертирование в DjVu изображений с небольшим количеством цветов (например, в оттенках серого) в PNM-форматах PPM или PGM.
csepdjvu — кодирование в один DjVu-файл разделённых файлов.
ddjvu — конвертирование DjVu-файла в различные другие графические форматы: PBM, PGM, PPM (PNM), RLE, TIFF и PDF.
djvups — конвертирование DjVu в PostScript.
djvm — удаление и вставка страниц в DjVu-файле, объединение отдельных DjVu-файлов в один документ.
djvmcvt — конвертация из многостроничного DjVu-документа, состоящего из нескольких файлов, связанных индексным файлом) в один связный (bundled) DjVu-файл, и наоборот.
djvused — создание и редактирование аннотаций, скрытого текстового слоя, миниатюрных изображений и др.
djvutxt — извлечение скрытого текста из DjVu-файлов.
djvudump — отображение технической информации о DjVu-файлах (размер и разрешение страниц в пикселях, значение гамма-коррекции и другой информации).
djvuextract
djvumake — создание DjVu-файлов.
djvuserve
djvuxml
djvudigital — конвертирование PDF и PostScript документов в формат DjVu.
Код: Выделить всё
[olej@localhost ~]$ dnf list djv*
Последняя проверка окончания срока действия метаданных: 19 days, 3:07:32 назад, Sun May 1 15:47:26 2016.
Установленные пакеты
djvulibre.x86_64 3.5.25.3-17.fc23 @fedora
djvulibre-libs.x86_64 3.5.25.3-17.fc23 @fedora
Доступные пакеты
djview4.x86_64 4.10.6-1.fc23 updates
djview4-plugin.x86_64 4.10.6-1.fc23 updates
djvulibre-devel.i686 3.5.25.3-17.fc23 fedora
djvulibre-devel.x86_64 3.5.25.3-17.fc23 fedora
djvulibre-libs.i686 3.5.25.3-17.fc23 fedora
Код: Выделить всё
[olej@localhost ~]$ sudo dnf install djview4*
Последняя проверка окончания срока действия метаданных: 0:34:57 назад, Fri May 20 18:21:12 2016.
Зависимости разрешены.
=======================================================================================================================================
Package Архитектура Версия Репозиторий Размер
=======================================================================================================================================
Установка:
djview4 x86_64 4.10.6-1.fc23 updates 597 k
djview4-plugin x86_64 4.10.6-1.fc23 updates 33 k
libxkbcommon-x11 x86_64 0.5.0-2.fc23 fedora 23 k
qt5-qtbase x86_64 5.6.0-13.fc23 updates 3.1 M
qt5-qtbase-common noarch 5.6.0-13.fc23 updates 29 k
qt5-qtbase-gui x86_64 5.6.0-13.fc23 updates 5.3 M
xcb-util-image x86_64 0.4.0-3.fc23 fedora 19 k
xcb-util-keysyms x86_64 0.4.0-2.fc23 fedora 14 k
xcb-util-renderutil x86_64 0.3.9-4.fc23 fedora 17 k
xcb-util-wm x86_64 0.4.1-6.fc23 fedora 29 k
Результат операции
=======================================================================================================================================
Установка 10 Пакетов
Объем загрузки: 9.2 M
Объем изменений: 27 M
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/10): djview4-plugin-4.10.6-1.fc23.x86_64.rpm 8.7 kB/s | 33 kB 00:03
(2/10): djview4-4.10.6-1.fc23.x86_64.rpm 66 kB/s | 597 kB 00:09
(3/10): qt5-qtbase-5.6.0-13.fc23.x86_64.rpm 153 kB/s | 3.1 MB 00:20
(4/10): qt5-qtbase-common-5.6.0-13.fc23.noarch.rpm 1.7 kB/s | 29 kB 00:16
(5/10): xcb-util-image-0.4.0-3.fc23.x86_64.rpm 62 kB/s | 19 kB 00:00
(6/10): libxkbcommon-x11-0.5.0-2.fc23.x86_64.rpm 47 kB/s | 23 kB 00:00
(7/10): xcb-util-keysyms-0.4.0-2.fc23.x86_64.rpm 82 kB/s | 14 kB 00:00
(8/10): xcb-util-wm-0.4.1-6.fc23.x86_64.rpm 106 kB/s | 29 kB 00:00
(9/10): xcb-util-renderutil-0.3.9-4.fc23.x86_64.rpm 51 kB/s | 17 kB 00:00
(10/10): qt5-qtbase-gui-5.6.0-13.fc23.x86_64.rpm 164 kB/s | 5.3 MB 00:33
---------------------------------------------------------------------------------------------------------------------------------------
Общий размер 208 kB/s | 9.2 MB 00:45
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Установка : qt5-qtbase-common-5.6.0-13.fc23.noarch 1/10
Установка : qt5-qtbase-5.6.0-13.fc23.x86_64 2/10
Установка : xcb-util-wm-0.4.1-6.fc23.x86_64 3/10
Установка : xcb-util-renderutil-0.3.9-4.fc23.x86_64 4/10
Установка : xcb-util-keysyms-0.4.0-2.fc23.x86_64 5/10
Установка : xcb-util-image-0.4.0-3.fc23.x86_64 6/10
Установка : libxkbcommon-x11-0.5.0-2.fc23.x86_64 7/10
Установка : qt5-qtbase-gui-5.6.0-13.fc23.x86_64 8/10
Установка : djview4-4.10.6-1.fc23.x86_64 9/10
Установка : djview4-plugin-4.10.6-1.fc23.x86_64 10/10
Проверка : djview4-plugin-4.10.6-1.fc23.x86_64 1/10
Проверка : djview4-4.10.6-1.fc23.x86_64 2/10
Проверка : qt5-qtbase-5.6.0-13.fc23.x86_64 3/10
Проверка : qt5-qtbase-common-5.6.0-13.fc23.noarch 4/10
Проверка : qt5-qtbase-gui-5.6.0-13.fc23.x86_64 5/10
Проверка : libxkbcommon-x11-0.5.0-2.fc23.x86_64 6/10
Проверка : xcb-util-image-0.4.0-3.fc23.x86_64 7/10
Проверка : xcb-util-keysyms-0.4.0-2.fc23.x86_64 8/10
Проверка : xcb-util-renderutil-0.3.9-4.fc23.x86_64 9/10
Проверка : xcb-util-wm-0.4.1-6.fc23.x86_64 10/10
Установлено:
djview4.x86_64 4.10.6-1.fc23 djview4-plugin.x86_64 4.10.6-1.fc23 libxkbcommon-x11.x86_64 0.5.0-2.fc23
qt5-qtbase.x86_64 5.6.0-13.fc23 qt5-qtbase-common.noarch 5.6.0-13.fc23 qt5-qtbase-gui.x86_64 5.6.0-13.fc23
xcb-util-image.x86_64 0.4.0-3.fc23 xcb-util-keysyms.x86_64 0.4.0-2.fc23 xcb-util-renderutil.x86_64 0.3.9-4.fc23
xcb-util-wm.x86_64 0.4.1-6.fc23
Выполнено!
Код: Выделить всё
[olej@localhost bin]$ which djview4
/usr/bin/djview4
[olej@localhost bin]$ djview4
...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
эл. книги в формате .djvu
Вопрос: как из книги DJVU (PDF будет то же самое) извлечь текст ... например фрагменты программного кода Go?Olej писал(а): Ещё :
Не колотить же их с книги вручную?
Т.к. DJVU/PDF - это растровый графический формат, то тут нам без OCR не обойтись (сканирование и распознавание текста ... только без сканирования).
Пробую:
- сохраняем выделенный фрагмент (растровый графический прямоугольник), "сохранить как" в DJVU-вьювере (DjView4): - используя OCR Cuneiform
- как показал опыт, распознавать нужно 2 раза: русский язык - комментарии + английский язык - программный код:
Код: Выделить всё
[olej@dell vector]$ cuneiform -l rus -f text -o app1c.txt app1.bmp
Cuneiform for Linux 1.1.0
Код: Выделить всё
[olej@dell vector]$ cuneiform -l eng -f text -o app1ce.txt app1.bmp
Cuneiform for Linux 1.1.0
Код: Выделить всё
[olej@dell vector]$ cat app1ce.txt
func appendlnt(x []int, y int) []int {
var z []int
zlen:= len(x) + 1
if zlen <= cap(x) {
// NMeetcn He<To A/IR pocta. Pacmnpnem epee.
z = x[:zlen]
) else (
// Mecta Ann pOcta Het. BMAenneM HOSHA MaCCNR. Veeneuneaen
// 8 Aea pa33 ARR IHIHRNHoe amopTN3NpoaaHHHoe crloxHocTH.
zcap:= zlen
if zcap < 2"len(x) {
zcap = 2 * len(x)
z = make([]int, zlen, zcap)
copy(z, x) // ectpoennan (Iynxunn; cM. Te«ct paanena
)
z[len(x)] = y
return z
)
Код: Выделить всё
[olej@dell vector]$ cat app1c.txt
топ< аррепд1пе(х [)йпт, у 1пт) []1пт (
уаг з [)йпт
з1еп := 1еп(х) + 1
1т г1еп <= сар(х) (
// Имеется место для роста. Расширяем срез.
з = х[ га1еп)
) е1зе (
// Места для роста нет. Выделяем новый массив. Увеличиваем
// в два раза для линейной амортизированнной слохности.
асар := г1еп
зй ясар < 2"1еп(х) (
асар = 2 * 1еп(х)
г = шайе([)1пт, г1еп, асар)
сору(г, х) // Встроенная функция; см. текст раздела
)
г[1еп(х)) = у
гееогп г
)
Тема поднималась пользователем Olej 06 фев 2024, 19:45.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей