Commandes externes

Si vous choisissez d'utiliser le modèle d'étape RunExternalProgram, réfléchissez à la commande que vous souhaitez utiliser avant de commencer à créer votre modèle d'étape. Voici quelques exemples de commandes qui utilisent la notation des symboles RICOH ProcessDirector.

Copier un fichier d'impression plus récent vers une destination

Dans l'exemple suivant, la commande Linux cp copie le fichier JobNumber.print.pdf du répertoire spoule du travail uniquement lorsque le fichier source est plus récent que le fichier cible :
cp -u ${getAbsoluteFileName(print, pdf, read)} /tmp/jobarchives

${getAbsoluteFileName(print, pdf, read)} correspond à la formule de symbole RICOH ProcessDirector qui renvoie le nom du fichier d'impression PDF dans le répertoire spoule. Si le fichier d'impression PDF n'existe pas dans le répertoire spoule lorsque le programme externe est exécuté, une erreur se produit.

Mettre à jour un fichier d'impression et l'écrire dans le répertoire spool

Dans cet exemple, le programme externe myprogram lit le fichier NuméroTravail.print.pdf du répertoire spoule et écrit une version mise à jour du fichier dans le répertoire spoule, via le réacheminement :
myprogram -i ${getFileName(print, pdf, read)} > 
${getFileName(print, pdf, write)}

${getFileName(print, pdf, read)} correspond à la formule de symbole RICOH ProcessDirector qui renvoie le nom du fichier d'impression PDF dans le répertoire spoule. Si le fichier d'impression PDF n'existe pas dans le répertoire spoule lorsque le programme externe est exécuté, RICOH ProcessDirector renvoie le nom du fichier d'entrée pour le travail, qui est JobNumber.print.unknown. Si ce fichier n'existe pas dans le répertoire spoule, une erreur se produit.

Lire le fichier de substitution pour un travail d'impression et écrire un fichier de statistiques dans le répertoire spool

Dans cet exemple, le programme externe auditstatistics lit le fichier NuméroTravail.overrides.text du répertoire spoule et écrit un nouveau fichier de statistiques, NuméroTravail.statistics.text, dans le répertoire spoule :
auditstatistics inputfile=${getFileName(overrides, text, read)} 
outputfile=${getFileName(statistics, text, write)}

Utiliser un fichier séparé pour transmettre les valeurs de propriété à un programme externe avec le fichier d'impression

Dans cet exemple, la commande cp Linux produit un fichier CSV pour lequel il existe un fichier de contrôle RICOH ProcessDirector correspondant. Le fichier de contrôle répertorie les symboles pour neuf propriétés de travail RICOH ProcessDirector :
cp ${getControlFileName()} /aiw/aiw1/samples/${Job.ID}.info.csv

${getControlFileName()} est la formule de symbole RICOH ProcessDirector qui renvoie le nom du fichier de contrôle résolu. RICOH ProcessDirector génère le fichier de contrôle à partir du modèle de fichier de contrôle indiqué.

Le fichier de contrôle peut utiliser la méthode getChildFileName pour renvoyer le nom d'un fichier enfant de manière à ce que le programme externe puisse écrire un fichier dans le sous-répertoire children du répertoire spoule. Le programme externe doit écrire les noms des fichiers de travail enfant au format suivant :

NuméroTravail.TypeSyntaxe.TypeDonnées.n,Job.JobType=NomTypeTravail
NomFlotTravaux est le nom du flot de travaux requis par le travail enfant. Ce flot de travaux doit exister et être activé.

Lorsque vous ajoutez à un flot de travaux une étape basée sur le modèle RunExternalProgramen utilisant le bloc-notes des propriétés Job Types, les propriétés indiquant la valeur [Recevoir] dans les valeurs par défaut du travail changent pour correspondre à la phase réelle à laquelle l'étape est ajoutée.

Appeler une commande en utilisant un nom de chemin d'accès complet

Cet exemple utilise un nom de chemin d'accès complet pour appeler le programme externe fourni par l'utilisateur mytransform afin de convertir un fichier au format PDF. mytransform lit les noms des fichiers d'entrée et de sortie dans un fichier de contrôle :
/opt/myprograms/bin/mytransform -c ${getControlFileName()}

Archiver un fichier d'impression sur un système Windows

Dans l'exemple suivant, l'étape externe utilise la commande copier de Windows pour écrire une copie du fichier JobNumber.print.pdf du répertoire spoule dans un répertoire d'archivage du système Windows :
copy ${getAbsoluteFileName(print,pdf,read)} d:\archive\pdf
    Remarque:
  • RICOH ProcessDirector doit être installé dans le répertoire système Windows et le serveur d'applications Windows doit être connecté au serveur principal.
  • Indiquez le répertoire Windows en renseignant le nom du répertoire au format Windows natif.
  • Lorsque vous le pouvez, utilisez les commandes Windows natives plutôt que les commandes SFU (Windows Services for UNIX). À titre d'exemple, utilisez la commande copier plutôt que la commande cp. En effet, les commandes SFU ne sont pas toutes disponibles sur les systèmes Windows.
  • Certaines commandes rendent le répertoire Windows facultatif. Elles peuvent créer le répertoire sur le système Windows.
  • Veillez à ajuster le modèle d'étape pour qu'il s'exécute uniquement sur un serveur d'applications Windows. En raison des différents formats de noms de répertoire sous Linux, les étapes basées sur ce modèle échoueront si RICOH ProcessDirector essaie de les exécuter sur un système non Windows.