Accueil > Applications > mbtPdfAsm > mbtPdfAsm : l’application

mbtPdfAsm : l’application

samedi 16 juin 2007, par tsc

Toutes les versions de cet article : [English] [français]

Il s’agit d’un outil en ligne de commande permettant d’assembler/fusionner des fichiers PDF, d’extraire des informations de fichiers PDF, ou de mettre à jour des metadata dans des fichiers PDF.

En bref

En mode assemblage (mode par défaut), cet outil fusionne des pages en mode fichier complet, ou en mode liste de pages. En mode liste de pages les signets ne sont pas récupérés. Cependant cet outil permet d’ajouter des signets via un fichier de définition de signets (option -o).

Les pages à fusionner sont extraites de fichiers pdf valides via un ou plusieurs masques de sélection (option -m).
Il est aussi possible d’extraire certaines pages de certains fichiers via un script (option -s).
Si les options -m et -s sont utilisées simultanément, le fichier résultat comportera le résultat de l’option -m suivi du résultat de l’option -s.

Par défaut les fichiers à assembler sont triés par ordre alphabétique.


En mode de mise à jour (-u) les fichiers sont sélectionner par le(s) mask(s), sont mis à jour selon les options de la ligne de commande. Le commutateur -d est inopérant.


En mode d’extraction d’informations (-g[...]) (noter informations, pas données) celles ci sont imprimées sur la sortie standard au format CSV. Les commutateurs -s, -d sont inopérants.

La ligne de commande

La syntaxe est la suivante :

mask : spécifie l’EXPRESSION REGULIERE (-m, compatible perl, pcre version 4.4) employée pour la recherche des fichiers à assembler. On peut spécifier plusieurs masques en les séparant par des ’ ;’. Note, sous Linux, il vaut mieux séparer les masques par des ’,’. Vous pouvez utiliser l’option -M à la place de -m. Dans ce cas la syntaxe du mask est ’normale’. Par normale, il faut comprendre que le joker * vaut pour un nombre quelconque de caractère(s). Le joker ? vaut pour un et un seul caractère.

dest : spécifie le nom du fichier résultat de l’assemblage. Si dest comporte un ’chemin’, celui ci ne sera pas créé par le programme.

Attention : Si le fichier destination correspond à un masque, le fichier destination sera écrasé, mais pas assemblé !


options :

  • a : assemble les fichiers dans l’ordre de leur apparition (sans classement).
    • s : les masques multiples sont traités dans leur ordre d’apparition. (version >= 1.0.21)
  • b : permet de spécifier un répertoire de base à partir duquel le masque de sélection de fichier est appliqué.(version >= 1.0.21).
  • c : permet de gérer les restrictions d’accès (révision 2 de l’algorithme standard).
    • R : les restrictions proprement dites
      • a : ajout d’annotations et de formulaire
      • m : modification du document
      • p : impression du document
      • s : sélection extraction d’une partie du document
      • Exemple, le sélecteur -cRamps placé dans la ligne de commande applique toutes les restrictions. Lors de l’assemblage, si un fichier comportant des restrictions est traité, et si ces restrictions sont plus contraigntes que celles de la ligne de commande, alors les restrictions les plus conraignantes sont utilisées.
    • U : permet de définir un mot de passe d’ouverture du fichier
    • O : permet de définir un mot de modification des restrictions du fichier
    • L : permet de définir la longueur de la clé de chiffremente en octets. Seuls 5 (40 bits) et 16 (128 bits) sont supportés par Acrobat
  • g : permet d’obtenir une information sur les fichiers correspondant au(x) masque(s) (version >= 1.0.5).
    • H : lignes d’entêtes pour les informations affichées.
    • A : l’auteur.
    • C : information de chiffrement du fichier (nom de l’algorithme, longueur de la clé, mdp utilisateur).
    • F : nom du fichier.
    • K : mots clés.
    • N : nombre de pages dans le fichier.
    • O : les signets du fichier au format défini pour l’insertion
    • S : sujet.
    • T : titre.
      Les informations sont imprimées sur la sortie standard séparées par un \r\n.
  • l : permet de limiter le nombre de page(s) dans le(s) fichier(s) pdf résultat(s). Ce commutateur passe mbtPdfAsm en mode SPLIT. Dans ce mode le nombre de fichiers produits est le nombre de pages correspondant aux fichiers sélectionnés par masque(s) ou script divisé par x + 1. (version >= 1.0.11).
    • Px : x spécifie le nombre de pages par fichier résultat.
  • n : numérote les pages assemblées, à partir de 0 (version >= 1.0.17, expérimental). [*Selon les propriétés de votre document PDF il est possible que certaines coordonnées d’affichage soient invisibles.*]
  • N : (EXPERIMENTAL version >= 1.0.21) permet de formater la numérotation affichée avec l’option -n.
    • 0x : x est le numéro de la première page.
    • c : couleur des numéros, une chaîne de trois nombre inférieurs ou égaux à 255. (0,0,0 par défaut)
    • f : police de caractères, un nombre entier dans l’intervalle [0, 13]. (4 par défaut)
    • s : taille du texte. (10 par défaut)
    • x : abscisse du texte. (10 par défaut)
    • y : ordonné du texte. (10 par défaut)
  • o : permet de spécifier le nom d’un fichier de description de signets.
  • oO : permet de récupérer les signets (version >= 1.0.9).
  • p : permet de spécifier une liste de pages à extraire des fichiers correspondant au masque de l’option -m. Cette liste a la même syntaxe que la liste d’une ligne d’un script si ce n’est que les espaces y sont remplacés par des ’ ;’.
  • r : recherche les fichiers dans les sous répertoires.
  • R : Tourne toute les pages du fichier destination de valeur. Valeur vaut 90, 180 ou 270.
  • s : permet de spécifier le nom d’un fichier de script. Ce non ne doit pas commencer par A, K, S, ou T. Si on est en mode de mise à jour ce commutateur est employé avec des modificateurs de manière à spécifier des metadata. Dans la spécifications les espaces doivent être matérialisés par des ’_’.
    • A : spécifier l’auteur.
    • K : spécifier des mots clés.
    • S : spécifier le sujet.
    • T : spécifier un titre.
    • S : lance l’application en mode silencieux, rien n’est alors affiché à l’écran. (version >= 1.0.12)
  • t : (EXPERIMENTAL version >= 1.0.16). Permet de spécifier une ligne de texte qui sera afficher en bas des pages assemblées. La police utilisée est Helvetica de taille 10. [*Selon les propriétés de votre document PDF il est possible que certaines coordonnées d’affichage soient invisibles.*]
  • T : (EXPERIMENTAL version >= 1.0.16) permet de formater le texte affiché avec l’option -t.
    • c : couleur du texte, une chaîne de trois nombre inférieurs ou égaux à 255. (0,0,0 par défaut)
    • f : police de caractères, un nombre entier dans l’intervalle [0, 13]. (4 par défaut)
    • o : orientation du texte, un nombre compris entre 0° et 90°. (0 par défaut)
    • s : taille du texte. (10 par défaut)
    • x : abscisse du texte. (10 par défaut)
    • y : ordonné du texte. (10 par défaut)
    • u : passage en mode mise à jour (version >= 1.0.6).
  • P : efface les metadata pour lesquelles aucune valeur n’est spécifiée sur la ligne de commande (version >= 1.0.8).
  • K : efface le fichier original (version >= 1.0.8), sinon un fichier pdfbak est conservé.
  • z : inverse l’ordre alpha des fichiers à assembler.

limitations

Historiquement mbtPdfAsm a été conçu pour assembler rapidement des fichiers PDF simples (1 pages sans options) sur un serveur devant produire des fichiers PDF assemblés. Par héritage mbtPdfAsm ne cherche donc pas à comprendre ce qu’il assemble. Il est donc rapide, mais limité dans ce qu’il est capable d’assembler, car certain assemblage requière une reflexion, ce qu’il n’aime pas faire car ça le ralentit.

Cependant, dans un souci de satisfaire le plus grand nombre j’augmente au fur et à mesure ce que mbtPdfAsm est capable de gérer.

Il subsite cependant des limitations plus ou moins significatives selon vos besoins, et qui techniquement peuvent se résumer en disant que les entrées suivantes du Catalog ne sont pas traités : Version, PageLabels, ViewerPreferences, PageLayout, PageMode, Threads, OpenAction, AA, URI, Metadata, StructTreeRoot, MarkInfo, Lang, SiderInfo, OutputsIntents. La liste est longue et pourtant il ne s’agit que d’options dont certaines ne peuvent de toute façon pas être traitées par un logiciel d’assemblage, car leur traitment entrainerait des conflits entre les différents fichiers PDF à assembler.

Pour conclure, et pour l’instant, mbtPdfAsm vous convient parfaitement si vous souhaitez assembler des fichiers issus d’un scanner, d’un logiciel de production de type cutePDF, pdfWriter, des scripts FPDF, ... . mbtPdfAsm convient modérément dans le cas de ’gros ouvrages finement chapitrés’.

Merci pour votre compréhension, n’hésitez pas à me faire part de vos remarques, ou à me soumettre des fichiers posant problèmes.