# &p; Manual

&p;

1 &version;

&p;

Créer des fichiers DjVu à partir des fichiers PDF

    &p;   -o --output  fichier-sortie-djvu
    option fichier-pdf

    &p;   -i --indirect  fichier-index-djvu
    option fichier-pdf

    &p;  --version --help -h

## Description

Ce programme crée un fichier DjVu à partir d’un ou plusieurs fichiers au format de document portable (PDF).

## Options

`&p;` accepte les options suivantes :

### Type de document, noms de fichier

`-o`

`--output=``fichier-sortie-djvu```

- Produire un document de plusieurs pages ensemble. Écrire le fichier dans ``fichier-sortie-djvu`` au lieu de la sortie standard.

`-i`

`--indirect=``fichier-index-djvu```

- Produire un document multi-page complément. Utiliser ``fichier-index-djvu`` comme nom de fichier d’index ; mettre les fichiers éléments dans le même répertoire. Le répertoire doit exister et être accessible en lecture.

`--page-id-template=`modèle``

- Indiquer le schéma de nommage pour les identificateurs de page. Consulter la template-language.title section pour la description de langue du modèle.

  Le modèle par défaut est `p{page:04*}.djvu`.

  Pour des raisons de portabilité, les identificateurs de page :

  - doivent être composés uniquement de lettres ASCII minuscules, chiffres, `_`, `+`, `-` et de points,

  - ne peuvent pas commencer par un `+`, `-` ou un point,

  - ne peuvent pas contenir deux points consécutifs,

  - doivent se terminer par l’extension `.djvu` ou `.djv`.

`--page-id-prefix=`préfixe``

- Équivalent à `--page-id-template=`préfixe`{page:04*}.djvu`.

`--page-title-template=`modèle``

- Indiquer le modèle pour les titres de page. Consulter la template-language.title section pour la description de langue du modèle.

  Le modèle par défaut est `{label}`.

`--no-page-titles`

- Ne pas définir le titre des pages.

### Résolution, taille de la page

`-d`

`--dpi=`résolution``

- Indiquer la résolution souhaitée à `résolution` points par pouce. La valeur par défaut est 300 PPP. La plage autorisée est : 72 ≤ `résolution` ≤ 6000.

`--media-box`

- Utiliser MediaBox pour déterminer la taille de la page. CropBox est utilisé par défaut.

`--page-size=`largeur`x`hauteur``

- Indiquer la taille préférée de page à `largeur` pixels × `hauteur` pixels. La taille réelle de la page peut être modifiée afin de respecter le ratio d’aspect et les limites de résolution de DjVu (Cette option prend le pas sur `-d`/`--dpi`.).

`--guess-dpi`

- Essayer de deviner la résolution native en examinant les images incorporées. À utiliser avec précaution.

### Qualité d’image

`--bg-slices=`n`+`...`+`n``

`--bg-slices=`n`,`...`,`n``

- Indiquer la qualité d’encodage du calque d’arrière-plan IW44. Cette option est similaire à l’option `-slice` de `c44`. Consulter la page de manuel de

  c44

  1 pour plus de détails. La valeur par défaut est `72+11+10+10`.

`--bg-subsample=`n``

- Indiquer le ratio de sous-échantillonnage de l’arrière-plan. La valeur par défaut est 3. Les valeurs valables sont des entiers entre 1 et 12 inclus.

`--fg-colors=default`

- Essayer de conserver toutes les couleurs du calque de premier plan. C’est la valeur par défaut.

`--fg-colors=web`

- Réduire les couleurs du calque de premier plan à celles de la palette Web (216 couleurs). Cette option n’est pas recommandée.

`--fg-colors=`n``

- Utiliser GraphicsMagick pour réduire le nombre de couleurs distinctes dans le calque de premier plan à `n`. Les valeurs autorisées sont des entiers compris entre 1 et 4080. Cette option n’est pas recommandée.

`--fg-colors=black`

- Abandonner toutes les informations de couleur du calque de premier plan.

`--monochrome`

- Transformer les pages au format bitmap monochrome. Avec cette option, les options `--bg-`...`` et `--fg-`...`` ne sont pas respectées.

`--loss-level=`n``

- Indiquer le niveau de compression avec perte. La valeur par défaut est 0 (sans perte). Les valeurs autorisées sont des entiers compris entre 0 et 200, inclus. Cette option est similaire à l’option `-losslevel` de `cjb2` ; consulter la page de manuel de

  cjb2

  1 pour plus de détails. Cette option peut être utilisée seulement avec l’option `--monochrome`.

`--lossy`

- Synonyme de `--loss-level=100`.

`--anti-alias`

- Activer la police et le vecteur anticrénelage. Cette option n’est pas recommandée.

### Extraction

`--no-metadata`

- Ne pas extraire les métadonnées.

  Par défaut :

  - Les entrées suivantes du dictionnaire de l’information du document sont extraites : `titre`, `auteur`, `sujet`, `créateur`, `producteur`, `date de création`, `date de modification`. Les horodatages sont formatés selon la RFC 3999, avec les composants date et heure séparés par une espace unique.

  - Les métadonnées XMP sont extraites (ou créées) et mises à jour en conséquence.

  Si plusieurs documents de saisie sont indiqués, seules les métadonnées du premier sont prises en compte.

`--verbatim-metadata`

- Conserver les métadonnées originelles intactes.

`--no-outline`

- Ne pas extraire la table des matières du document.

`--hyperlinks=border-avis`

- Rendre les contours de lien hypertexte toujours visibles.

  Par défaut, un contour de lien hypertexte est visible uniquement lorsque la souris est sur le lien hypertexte.

`--hyperlinks=#`RRGGBB``

- Forcer la couleur indiquée pour le contour des liens hypertextes.

`--no-hyperlinks`

`--hyperlinks=none`

- Ne pas extraire les liens hypertextes.

`--no-text`

- Ne pas extraire le texte.

`--words`

- Extraire le texte. Enregistrer l’emplacement de chaque mot. Cela est fait par défaut.

`--lines`

- Extraire le texte. Enregistrer l’emplacement de chaque ligne, plutôt que de chaque mot.

`--crop-text`

- Ne pas extraire de texte en dehors des limites de page.

`--no-nfkc`

- Ne pas appliquer la normalisation NFKC sur le texte, excepté pour les caractères des tables de caractères (U+FB00–U+FB4F), qui sont normalisées sans condition.

  Par défaut, la normalisation NFKC est appliquée pour tous les caractères.

`--filter-text=`ligne-commande``

- Filtrer le texte à travers la `ligne-commande`. Le filtre fourni doit préserver les espaces, les caractères de contrôle et les chiffres décimaux.

  Cette option implique `--no-nfkc`.

`-p`

`--pages=`plage-pages``

- Indiquer les pages à convertir. `plage-pages` est une liste de sous-plages (sous forme de valeurs séparées par des virgules). Chaque sous-plage est soit une seule page (p. ex. `17`) ou une plage de pages contiguës (p. ex. `37-42`). Les numéros de page ne peuvent être dupliqués. Les pages sont numérotées en commençant à 1.

  Par défaut, toutes les pages sont converties.

### Réalisation

`-j`

`--jobs=`n``

- Utiliser `n` processus légers pour effectuer la conversion. La valeur par défaut est d’utiliser un processus.

`-j0`

`--jobs=0`

- Déterminer automatiquement le nombre de processus à utiliser pour effectuer la conversion.

### Informations, aide

`-v`

`--verbose`

- Afficher davantage de messages d’information lors de la conversion du fichier.

`-q`

`--quiet`

- Ne pas afficher de message d’information lors de la conversion du fichier.

`--version`

- Afficher l’information de version et quitter.

`-h`

`--help`

- Afficher l’aide et quitter.

## Environnement

Les variables d’environnement suivantes affectent `&p;` sur les systèmes Unix :

`OMP_`*``

- Les détails du comportement d’exécution concernant le parallélisme peuvent être contrôlés par plusieurs variables d’environnement. Se référer à la spécification de l’interface de programmation (API) OpenMP pour plus de détails.

`TMPDIR`

- `&p;` fait un usage intensif de fichiers temporaires. Il les stocke dans un répertoire indiqué par cette variable. La valeur par défaut est `/tmp`.

## Mise en forme de modèle

### Syntaxe de modèle

Le mise en forme du modèle est plus ou moins calquée sur la syntaxe de formatage de chaîne en Python.

Un modèle est un morceau de texte qui contient des champs, entourés par des accolades `{``}`. Les champs sont remplacés par des valeurs mises en forme de manière appropriée lorsque le modèle est évalué. De plus, `{{` est remplacé par un seul `{` et `}}` est remplacé par un seul `}`.

### Syntaxe de champ

Chaque champ est constitué d’un nom de variable, éventuellement suivi d’un décalage, suivi éventuellement d’une indication de format.

Le décalage est un entier signé (c.-à-d. commençant par un caractère `+` ou `-`).

L’indication de format est constituée d’un deux-points, suivi d’une indication de largeur.

L’indication de largeur est un entier décimal définissant la largeur minimale de champ. Si elle n’est pas indiquée, alors la largeur du champ sera déterminée par le contenu. Mettre le caractère zéro (`0`) avant la précision de largeur permet le remplissage par des zéros.

L’indication de largeur peut être suivie d’un astérisque (`*`), ce qui augmente la largeur minimale de champ à la plus grande dimension possible du contenu de la variable.

### Les variables disponibles

`dpage`

- Numéro de page dans le document DjVu.

`page`

`spage`

- Numéro de page dans le document PDF.

`label`

- Étiquette de page (numéro logique de la page) dans le document PDF.

  Cette variable est seulement disponible pour les titres de page.

## Détails d’implémentation

### Algorithme de séparation de calque

À moins que l’option `--monochrome` soit activée, &p; utilise le simple algorithme de séparation de calques suivant :

1. Pour chaque page, procéder comme suit :

   1. Tramer la page dans un tableau de pixels, de la manière habituelle ;

   2. Tramer la page dans une autre tableau de pixels, en omettant les éléments de page suivants :

      - texte,

      - images matricielles d’un bit par pixel,

      - éléments vectoriels (sauf les remplissages de grandes zones) ;

   3. Comparer deux tableaux de pixels, pixel par pixel :

      1. Si leurs couleurs sont identiques, classer le pixel comme une partie du calque d’arrière-plan ;

      2. Dans le cas contraire, classer le pixel comme une partie du calque de premier plan.

## Rapports de bogue

Si vous trouvez un bogue dans &p;, veuillez le signaler au système de suivi des bogues ou à la liste de diffusion.

## Voir aussi

djvu

1 ,

djvudigital

1 ,

csepdjvu

1