Comment convertir un document DjVu en PDF sous Linux en utilisant uniquement des outils de ligne de commande?

46

J'ai quelques documents en DjVu que j'aimerai convertir en PDF. Y a-t-il un moyen de faire cela en utilisant des outils OSS en ligne de commande?

GeneQ
la source

Réponses:

41

djvu2pdf devrait faire l' affaire , c'est un petit script qui utilise le jeu d'outils djvulibre. Sinon, il existe d' autres méthodes nécessitant plusieurs outils de ligne de commande.

John T
la source
Ce qui est dommage, il n’existe actuellement pas d’outil djvu2pdf dans le dépôt Arch et l’ancien ver dans le
dépôt
L'installation à l' djvulibre-binaide d'apt-get, puis l'installation du fichier deb dans ce lien ont fait l'affaire.
thameera
Sur mac vous djvu2pdfest disponible via MacPorts.
Ioannis Filippidis
24

Le ddjvuprogramme (qui fait partie du djvulibre paquet standard ) fera ceci:

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

Attention: cela produit des fichiers volumineux (mais les fichiers PDF créés par le script de Christoph Sieghart ont la même taille.)


J'ai aussi écrit le petit bashscript suivant il y a quelques années. Il fait la même chose automatiquement. (Enregistrer ceci sous 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

Le djvu2pdfscénario de Christoph Sieghart fait essentiellement la même chose

Maxime
la source
2
Existe-t-il un moyen de faire en sorte que la couche OCR du fichier DjVu soit intégrée au format PDF?
Geremia
19

Pourquoi ne pas utiliser simplement DJView et exporter au format PDF?

  1. Allez à Gestionnaire de paquets Synaptic (Système - Administration - Gestionnaire de paquets Synaptic)
  2. Installer DJview4
  3. Lancer DJview (Applications - Graphiques - DJView4)
  4. Ouvrez votre document .djvu
  5. Menu - Exporter en tant que: PDF

Regardez http://art.ubuntuforums.org/showthread.php?t=1232038

toto
la source
2
C'est la solution la meilleure et la plus facile, merci!
Woohoo
La question portait sur l'utilisation de la ligne de commande uniquement, ce qui peut être automatisé.
Maxim
10

Si vous ne vous souciez pas des couleurs et des images, vous pouvez obtenir des fichiers beaucoup plus petits si vous supprimez les couleurs et utilisez plutôt:

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

Les textes, codes et formules ont une apparence parfaite, mais la plupart des images ont disparu

Marcello
la source
7
$ djvups input.djvu | ps2pdf - output.pdf

Dans mon cas, le fichier de sortie était 10 fois plus petit qu'avec ddjvu. Les deux djvupset ps2pdfprésents dans le référentiel Ubuntu.

$ sudo apt-get install djvulibre-bin ghostscript

J'ai trouvé cette méthode man ddjvu, alors lisez toujours les manuels;)

Une autre façon de produire un fichier PDF consiste à utiliser d'abord djvups (1) et à convertir le fichier PostScript résultant en PDF. La méthode qui donne les meilleurs résultats dépend du contenu du fichier DJVU et des capacités du convertisseur PS en PDF.

raaceur
la source
+1 pour conserver n'importe quel calque de texte dans le fichier djvu
Plasma
1

J'ai un peu changé le script @ 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
la source
1

Pour les utilisateurs de MacOS, vous pouvez installer djvu2pdf comme ceci:

$brew install djvu2pdf 

Comment l'utiliser (fonctionne sur tout système de type Xnix):

$djvu2pdf nameBook.djvu nameBookToCreate.pdf
Andreskwan
la source