эл. книги в формате .djvu

Обработка документов, издательская деятельность

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

эл. книги в формате .djvu

Непрочитанное сообщение Olej » 20 май 2016, 18:10

Вопрос вот в чём: формат DJVU (как и FB2, скажем) не является таким уж стандартным для IT технологий, он придуман любителями эл. книг для более компактного (в первую очередь) и более комфортного (во вторую) представления книг: с картинками, обложками, иллюстрациями и т.д.

Вопрос: каким инструментарием лучше работать с DJVU?

А заодно: и то, как вообще хоть как-то просматривать DJVU-документы ... в свеже установленной системе ... или для начинающих.

Попутно: как трансформировать файлы в и из DJVU ?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: эл. книги в формате .djvu

Непрочитанное сообщение Olej » 20 май 2016, 18:15

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
При попытке читать новую скачанную DJVU-книгу по умолчанию (по Enter в mc, по ассоциациям установленным в системе после установки) получаю сообщение: неизвестный формат файла.

Начинаем вновь пляски с бубном... :-?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: эл. книги в формате .djvu

Непрочитанное сообщение Olej » 20 май 2016, 18:29

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.........................................................................................

Выполнено!
Вложения
e1.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: эл. книги в формате .djvu

Непрочитанное сообщение Olej » 20 май 2016, 18:37

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
DjVuLibre
Утилиты
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
...
Вложения
djv1.png
djv2.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

эл. книги в формате .djvu

Непрочитанное сообщение Olej » 06 фев 2024, 19:45

Olej писал(а): Ещё :
Вопрос: как из книги DJVU (PDF будет то же самое) извлечь текст ... например фрагменты программного кода Go?
Не колотить же их с книги вручную?
Т.к. DJVU/PDF - это растровый графический формат, то тут нам без OCR не обойтись (сканирование и распознавание текста ... только без сканирования).

Пробую:
- сохраняем выделенный фрагмент (растровый графический прямоугольник), "сохранить как" в DJVU-вьювере (DjView4):
scr1.png
- используя 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еп(х)) = у 
гееогп г 
)
На то, чтобы слить 2 файла, выверить и восстановить этот фрагмент кода (с восстановлением отступов, исправлениями ошибок ... ')'->'}' ) мне потребовалось 6 минут.


Тема поднималась пользователем Olej 06 фев 2024, 19:45.

Ответить

Вернуться в «Офисное ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость