Wie konvertiere ich ein DjVu-Dokument unter Linux nur mit Befehlszeilentools in PDF?

Ich habe einige Dokumente in DjVu, die ich gerne in PDF konvertieren würde. Gibt es eine Möglichkeit, dies mit Befehlszeilen-OSS-Tools zu tun?

Author: studiohack, 2010-01-26

7 answers

Djvu2pdf sollte der Rechnung entsprechen, es ist ein kleines Skript, das das djvulibre-Toolset verwendet. Wenn nicht, gibt es andere Methoden, die mehrere Befehlszeilentools erfordern.

 51
Author: John T,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-23 19:05:53

Das ddjvu - Programm (das Teil des Standards djvulibre paket), wird dies tun:

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

Warnung: Dadurch werden große Dateien erzeugt (aber PDF-Dateien, die von Christoph Siegharts Skript erstellt wurden, haben die gleiche Größe.)


Ich habe vor einigen Jahren auch das folgende kleine Skript geschrieben. Es macht das gleiche automatisch. (Speichern Sie dies als 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

Das djvu2pdf Skript von Christoph Sieghart macht im Wesentlichen dasselbe

 35
Author: Maxim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-05-16 05:28:42

Was ist mit DJView und Export als PDF?

  1. Goto Synaptic Package Manager (System - Systemverwaltung - Synaptic Package Manager) -
  2. DJview4 installieren
  3. Run DJview (Anwendungen - Grafik - DJView4)
  4. Öffnen Sie Ihre .djvu-Dokument -
  5. Menü-Export als: PDF

Schau dir an http://art.ubuntuforums.org/showthread.php?t=1232038

 23
Author: toto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-02-11 11:39:27
$ djvups input.djvu | ps2pdf - output.pdf

In meinem Fall war die Ausgabedatei 10x kleiner als bei ddjvu. Sowohl djvups als auch ps2pdf sind im Ubuntu-Repository vorhanden.

$ sudo apt-get install djvulibre-bin ghostscript

Ich habe diese Methode in man ddjvu gefunden, also lies immer Handbücher ;)

Eine alternative Möglichkeit, PDF-Dateien zu erstellen, besteht in der ersten Verwendung djvups (1) und konvertieren Sie die resultierende PostScript-Datei in PDF. Die methode liefert bessere Ergebnisse hängt vom Inhalt der DJVU-Datei ab und über die Fähigkeiten der PS zu PDF Converter.

 13
Author: raacer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-02 11:55:18

Wenn Sie sich nicht für Farben und Bilder interessieren, können Sie viel kleinere Dateien erhalten, wenn Sie die Farben löschen und stattdessen verwenden:

ddjvu -format=pdf -mode=black Eingang.djvu-Ausgabe.pdf -

Texte, Codes und Formeln sehen perfekt aus, aber die meisten Bilder sind weg

 11
Author: Marcello,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-09-06 15:15:10

Ich habe das @Maxim-Skript ein wenig geändert ...

#!/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
 3
Author: hute37,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-09 13:31:47

Für macOS-Benutzer können Sie djvu2pdf wie folgt installieren:

$brew install djvu2pdf 

Wie benutzt man es(funktioniert für jedes Xnix-ähnliche System):

$djvu2pdf nameBook.djvu nameBookToCreate.pdf
 2
Author: andreskwan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-05-01 12:47:54