Повернуть определенные страницы в файл DJVU?

Я хочу вращать определенный диапазон страниц в файле DjVu. Как мне это сделать? Надеюсь, без потери качества. DJVU имеет OCR, и я хотел бы сохранить это также.

2 ответа

Вы можете вращать страницы DJVU, используя djvused

Скачать и установить

Использование djvused для вращения страниц djvu

Страница руководства djvu sourceforge предлагает следующее:

Разные команды

вращение набора [+-] гниль

Изменяет ориентацию по умолчанию для выбранных страниц. Ориентация выражается в виде целого числа в диапазоне 0..3, представляющего количество поворотов против часовой стрелки на 90 градусов. Когда аргументу предшествует знак + или -, аргумент rot подсчитывает, сколько дополнительных поворотов на 90 градусов против часовой стрелки следует применить к странице. В противном случае аргумент rot представляет желаемую абсолютную ориентацию страницы. Только страницы DjVu могут быть повернуты.

ОПЦИИ

-e command

Вызывает djvused для выполнения команд, указанных в командах параметров аргумента. Рекомендуется заключать команды djvused в одинарные кавычки, чтобы предотвратить нежелательное расширение оболочки.

Команды выбора

select [fileid]

Выберите файл компонента, идентифицируемый аргументом fileid. Аргумент fileid должен быть либо номером страницы, либо идентификатором файла компонента. Команда select выбирает все файлы компонентов, если аргумент fileid опущен.

Вы можете попробовать следующую команду в качестве отправной точки, она должна:

  • выберите страницу 5
  • повернуть его на 180 градусов
  • сохраните его в новом файле djvu - p05.djvu

    djvused myfile.djvu -e 'выберите 5; установка вращения +2; сохранить страницу p05.djvu'

Загрузите и установите djvused (сравните ответ Ярона).

Повернуть отдельную страницу

Чтобы повернуть отдельную страницу на 180° в файле DJVU, используйте

      djvused myfile.djvu -e 'select 5; set-rotation +2 ; save'

( а также set-rotationобъясняются в ответе Ярона или на странице руководства djvused .)

Повернуть несколько страниц

Чтобы повернуть диапазон страниц, вы можете запустить следующий цикл в терминале или скрипте:

      for i in {4..8}
do
    djvused myfile.djvu -e "select $i; set-rotation +2; save"
done

куда {4..8}обозначает диапазон от 4 до 8, но вы также можете указать числа явно: for i in 4 5 6 8, если не все подряд. Вы даже можете комбинировать оба: for i in {4..8} 15 {21..40}.

Поворот большого количества страниц

Если вы чередуете большое количество страниц, вы можете сэкономить время, избегая повторяющихся команд. Для этого вы можете использовать echoнаписать select $i; set-rotation +2команды в текстовый файл (если command-listсуществует, это удалит/заменит его содержимое!):

      > command-list # make command-list empty
for i in {4..8}
do
    echo "select $i; set-rotation +2" >> command-list
done

проверьте, что файл содержит правильные команды, а затем примените все сразу:

      djvused myfile.djvu -s -f command-list

Здесь, -sзаменяет saveкоманда и -fпринимает файл, содержащий список команд (вместо явных команд после -e).

Другие вопросы по тегам