Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
— |
djvu [2020/05/09 22:44] (поточний) wombat створено |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== DJVU ====== | ||
+ | |||
+ | Формат електронних книг. | ||
+ | |||
+ | ====== Перегляд ====== | ||
+ | |||
+ | ====== Створення ====== | ||
+ | |||
+ | ===== З окремих сторінок ===== | ||
+ | |||
+ | Уявімо, що в нас є скановані сторінки книги, які збережені у файлах | ||
+ | page1.png | ||
+ | page2.png | ||
+ | ... | ||
+ | page9.png | ||
+ | page10.png | ||
+ | ... | ||
+ | page99.png | ||
+ | page100.png | ||
+ | page101.png | ||
+ | ... | ||
+ | |||
+ | Для початку краще перейменувати ці файли таким чином, щоб за будь-яких умов сортування чисел вони йшли у правильному порядку. | ||
+ | |||
+ | rename page page0 page???.png | ||
+ | rename page page00 page??.png | ||
+ | rename page page000 page?.png | ||
+ | |||
+ | Перший рядок перейменує усі файли з тризнаковими номерами, другий -- з двознаковими, і третій -- з однознаковими. В результаті усі числа в іменах файлів будуть чотиризнакові: | ||
+ | page0001.png | ||
+ | page0002.png | ||
+ | ... | ||
+ | page0009.png | ||
+ | page0010.png | ||
+ | ... | ||
+ | page0099.png | ||
+ | page0100.png | ||
+ | page0101.png | ||
+ | ... | ||
+ | | ||
+ | Ці файли потрібно спочатку перетворити з формату PNG на формат PBM, якщо вони монохромні (тільки два кольори: чорний та білий, без проміжних градацій сірого), або в PPM в них використовується невелика кількість кольорів: | ||
+ | |||
+ | <code bash> | ||
+ | for FILE in page*png; do echo "$FILE"; convert "$FILE" "${FILE/.png/.ppm}"; done | ||
+ | </code> | ||
+ | |||
+ | Після цього потрібно перетворити отримані файли на DJVU-файли окремих сторінок: | ||
+ | |||
+ | <code bash> | ||
+ | for FILE in page*pbm; do echo "$FILE"; cjb2 -clean -lossy "$FILE" "${FILE/.pbm/.djvu}"; done | ||
+ | </code> | ||
+ | |||
+ | Параметри ''-clean'' та ''-lossy'' не є обов'язковими. | ||
+ | |||
+ | * ''-clean'' позначає, що перед кодуванням зображення потрібно очистити від дрібних цяточок, | ||
+ | * ''-lossy'' вмикає алгоритм заміни символів візуально схожими -- це дозволяє, наприклад, економити пам'ять на однакових літерах. | ||
+ | |||
+ | Або для PPM-файлів: | ||
+ | |||
+ | <code bash> | ||
+ | for FILE in page*ppm; do echo "$FILE"; cpaldjvu -colors 8 -bgwhite "$FILE" "${FILE/.ppm/.djvu}"; done | ||
+ | </code> | ||
+ | |||
+ | Тут параметр ''-colors'' визначає максимальну кількість кольорів в палітрі. Що менше кольорів, то менший розмір файлу. ''-bgwhite'' позначає, що фоновим буде найяскравіший колір (зазвичай білий), а не переважний. | ||
+ | |||
+ | Ці два кроки перетворення формату файлів можна поєднати в одну команду: | ||
+ | |||
+ | <code bash> | ||
+ | for FILE in page*png; do echo "$FILE"; convert "$FILE" "${FILE/.png/.ppm}"; cpaldjvu -colors 8 -bgwhite "${FILE/.png/.ppm}" "${FILE/.png/.djvu}"; done | ||
+ | </code> | ||
+ | |||
+ | Далі треба поєднати окремі сторінки у єдиний DJVU-файл: | ||
+ | |||
+ | djvm -c book.djvu page*.djvu | ||
+ | |||
+ | |||
+ | ====== Редагування ====== | ||
+ | |||
+ | ===== Додавання текстового шару ===== | ||
+ | |||
+ | |||