Как мне преобразовать документ DjVu в PDF в Linux, используя только инструменты командной строки?

46

У меня есть несколько документов в DjVu, которые я хотел бы конвертировать в PDF. Есть ли способ сделать это с помощью инструментов OSS командной строки?

GeneQ
источник

Ответы:

41

djvu2pdf должен соответствовать всем требованиям, это небольшой скрипт, использующий набор инструментов djvulibre. Если нет, существуют другие методы, которые требуют нескольких инструментов командной строки.

Джон Т
источник
Что жаль , что в настоящее время не существует djvu2pdf инструмент в Arch репо и старые версии в Arch User репо
Гжегож Wierzowiecki
Установка djvulibre-binс использованием apt-get, а затем установка файла deb по этой ссылке сделали свое дело.
thameera
На Mac вы djvu2pdfдоступны через MacPorts.
Иоаннис Филиппидис
24

ddjvuПрограмма (которая является частью стандартного djvulibre пакета), будет делать это:

$ ddjvu -format=pdf -quality=85 -verbose a.djvu a.pdf

Предупреждение: при этом создаются большие файлы (но файлы PDF, созданные сценарием Кристофа Зигхарта, имеют одинаковый размер).


Я также написал следующий небольшой bashсценарий несколько лет назад. Это делает то же самое автоматически. (Сохранить это как djvu2pdf.sh).

#!/bin/bash

# convert DjVu -> PDF
# usage:  djvu2pdf.sh  <file.djvu>

i="$1"
echo "------------ converting $i to PDF ----------------";
o="`basename $i .djvu`"
o="$o".pdf
echo "[ writing output to $o ] "

cmd="ddjvu -format=pdf -quality=85 -verbose $i $o "
$cmd

djvu2pdfСценарий Кристоф Sieghart делает по существу то же самое

Максим
источник
2
Есть ли способ заставить OCR-слой DjVu проникнуть в PDF?
Джеремия
19

Как насчет простого использования DJView и экспорта в PDF?

  1. Перейти к Synaptic Package Manager (Система - Администрирование - Synaptic Package Manager)
  2. Установить DJview4
  3. Запустите DJview (Приложения - Графика - DJView4)
  4. Откройте документ .djvu
  5. Меню - Экспортировать как: PDF

Посмотрите на http://art.ubuntuforums.org/showthread.php?t=1232038

тото
источник
2
Это лучшее и простое решение, спасибо!
Woohoo
Вопрос был об использовании только командной строки, так что это можно автоматизировать.
Максим
10

Если вы не заботитесь о цветах и ​​изображениях, вы можете получить намного меньшие файлы, если вы отбросите цвета и будете использовать вместо них:

ddjvu -format=pdf -mode=black input.djvu output.pdf

Тексты, коды и формулы выглядят отлично, но большинство картинок пропало

Marcello
источник
7
$ djvups input.djvu | ps2pdf - output.pdf

В моем случае выходной файл был в 10 раз меньше, чем с ddjvu. И то, djvupsи другое ps2pdfприсутствует в репозитории Ubuntu.

$ sudo apt-get install djvulibre-bin ghostscript

Я нашел этот метод в man ddjvu, так что всегда читайте руководства;)

Альтернативный способ создания файла PDF состоит в том, чтобы сначала использовать djvups (1) и преобразовать полученный файл PostScript в PDF. Какой метод дает лучшие результаты, зависит от содержимого файла DJVU и от возможностей конвертера PS в PDF.

raacer
источник
+1 за сохранение любого текстового слоя в файле djvu
Plasma
1

Я немного изменил скрипт @Maxim ...

#!/bin/bash
# convert DjVu -> PDF
# usage:  djvu2pdf.sh [-q quality | -b] <infile.djvu> [outfile.pdf]

mode='color'
quality=80

aparse() {
  while [ $# != 0 ] ; do
    case "$1" in
    -q|--quality)
      quality=${2}
      shift
      ;;
    -b|--black)
      mode='black'
      ;;
  esac
  shift
done
}
aparse "$@"

i="$1"
o=${2:-$(basename $i .djvu).pdf}
if [ -f  "$o" ]; then 
  echo "file $o exists, override [Y/n]?"
  read ans
  case "$ans" in 
   n|N) exit 1;;
  esac
fi
echo "[ converting $i to $o ] "

cmd="ddjvu -format=pdf -quality=$quality -mode=$mode -verbose $i $o "

echo "[ executing $cmd ] "
$cmd
hute37
источник
1

Для пользователей MacOS вы можете установить djvu2pdf следующим образом:

$brew install djvu2pdf 

Как его использовать (работает для любой системы, подобной Xnix):

$djvu2pdf nameBook.djvu nameBookToCreate.pdf
andreskwan
источник