web-dev-qa-db-fra.com

Comment convertir un document DjVu en PDF sous Linux uniquement avec les outils de ligne de commande?

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?

46
GeneQ

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

40
John T

Le programme ddjvu (qui fait partie du paquetage djvulibre 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 script bash suivant il y a quelques années. Il fait la même chose automatiquement. (Enregistrez 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 script djvu2pdf de Christoph Sieghart fait essentiellement la même chose

23
Maxim

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

  1. Aller à 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

19
toto

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

10
Marcello
$ djvups input.djvu | ps2pdf - output.pdf

Dans mon cas, le fichier de sortie était 10 fois plus petit qu'avec ddjvu. djvups et ps2pdf sont tous deux présents dans le référentiel ubuntu.

$ Sudo apt-get install djvulibre-bin ghostscript

J'ai trouvé cette méthode dans man ddjvu, donc 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 à PDF.

7
raacer

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
1
andreskwan

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
1
hute37