Envoi de documents à des imprimantes

Vous pouvez utiliser le service Output pour envoyer des formats d’imprimante laser et des formats d’imprimante d’étiquettes à une imprimante. Pour obtenir la liste des formats pris en charge, voir Service Output.

Remarque : les fabricants d’imprimantes d’étiquettes conçoivent des imprimantes prenant en charge plusieurs langages d’impression. Les imprimantes Zebra n’utilisent pas toutes le langage ZPL. Assurez-vous que votre imprimante prend en charge ce langage d’impression.

Le schéma suivant illustre l’envoi de documents vers des imprimantes réseau par le service Output.

Le service Output prend en charge les systèmes d’accès aux imprimantes suivants :

Imprimante accessible directement :
une imprimante installée sur l’ordinateur utilisé est appelée imprimante accessible directement et l’ordinateur est appelé hôte de l’imprimante. Il peut s’agir d’une imprimante locale directement reliée à l’ordinateur.

Imprimante accessible indirectement :
les technologies de type UNIX® CUPS (Common Unix Printing System) et le protocole LPD (Line Printer Daemon) sont disponibles. L’imprimante installée sur un serveur d’impression est accessible depuis d’autres ordinateurs. Pour accéder à une imprimante accessible indirectement, vous devez indiquer l’adresse IP ou le nom d’hôte du serveur d’impression. Ainsi, vous pouvez envoyer un document vers un URI LPD lorsqu’un protocole LDP s’exécute sur le réseau. Ce système vous permet d’acheminer le document vers n’importe quelle imprimante connectée au réseau qui exécute un protocole LDP.

Lorsque vous utilisez cette méthode pour envoyer un document à une imprimante, indiquez l’un des protocoles d’impression suivants :

CUPS :
protocole d’impression intitulé Common Unix Printing System. Ce protocole est utilisé par les systèmes d’exploitation UNIX et permet à un ordinateur de fonctionner comme un serveur d’impression et d’accepter les demandes d’impression provenant d’applications clientes, de les traiter, puis de les envoyer aux imprimantes configurées. L’utilisation du protocole CUPS n’est pas recommandée pour le système d’exploitation IBM AIX®.

DirectIP :
protocole standard pour l’impression à distance et la gestion des travaux d’impression. Ce protocole peut être utilisé localement ou à distance. Les files d’attente d’impression sont facultatives.

LPD :
protocole d’impression intitulé Line Printer Daemon ou Line Printer Remote (LPR), qui fournit une fonctionnalité d’impression en réseau pour les systèmes UNIX.

SharedPrinter :
protocole d’impression qui permet à un ordinateur d’utiliser une imprimante configurée pour cet ordinateur. Ce protocole ne fonctionne pas si le service Generate PDF est installé et si LiveCycle est installé sur le système d’exploitation Windows Server® 2008. Ce problème ne porte que sur le système d’exploitation Windows Server® 2008. Dans ce cas, utilisez un protocole d’impression différent.

CIFS :
le service Output prend en charge le protocole d’impression CIFS (Common Internet File System) (voir Amélioration des performances du service Output).

Le tableau suivant répertorie les différentes valeurs d’entrée et les systèmes d’accès à l’impression, ainsi que les résultats escomptés.

Système d’accès

URI de serveur d’impression

Nom de l’imprimante

Résultat

SharedPrinter

Valeur nulle ou non nulle

Valeur nulle

Exception : l’argument requis sPrinterName ne peut pas être nul.

SharedPrinter

Valeur nulle ou non nulle

Non valide

Le service Output génère une exception indiquant que l’imprimante est introuvable.

SharedPrinter

Valeur nulle ou non nulle

Valeur valide

Tâche d’impression réussie.

LPD

Valeur nulle

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’argument requis sPrintServerUri ne peut pas être nul.

LPD

Non valide

Valeur nulle

Le service Output génère une exception indiquant que l’argument requis sPrinterName ne peut pas être nul.

LPD

Non valide

Valeur non nulle

Le service Output génère une exception indiquant que sPrintServerUri est introuvable.

LPD

Valeur valide

Non valide

Le service Output génère une exception indiquant que l’imprimante est introuvable.

LPD

Valeur valide

Valeur valide

Tâche d’impression réussie.

CUPS

Valeur nulle

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’argument requis sPrintServerUri ne peut pas être nul.

CUPS

Non valide

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’imprimante est introuvable.

CUPS

Valeur valide

Valeur nulle ou non nulle

Tâche d’impression réussie.

DirectIP

Valeur nulle

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’argument requis sPrintServerUri ne peut pas être nul.

DirectIP

Non valide

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’imprimante est introuvable.

DirectIP

Valeur valide

Valeur nulle ou non nulle

Tâche d’impression réussie.

CIFS

Valeur valide

Valeur nulle

Tâche d’impression réussie.

CIFS

Non valide

Valeur nulle ou non nulle

Le service Output génère une erreur inconnue lors de l’impression à l’aide de CIFS.

CIFS

Valeur nulle

Valeur nulle ou non nulle

Le service Output génère une exception indiquant que l’argument requis sPrintServerUri ne peut pas être nul.

Remarque : pour lancer des impressions sur des imprimantes de réseau à distance Windows, il est préférable d’utiliser le protocole CIFS plutôt qu’une imprimante partagée. Le protocole CIFS peut être utilisé avec des serveurs d’impression Windows distants (voir Amélioration des performances du service Output).

Exécution d’un service sous Windows

Si vous installez LiveCycle à l’aide de l’installation JBoss Clé en main sous Windows, le service JBoss s’exécute dans le contexte du compte système local. Les services exécutés dans ce contexte n’ont pas accès aux ressources réseau telles que les imprimantes, car ils ne sont pas authentifiés sur le réseau. Si vous utilisez Output IVS (Installation Verification Sample) pour envoyer un document vers une imprimante réseau, le message d’erreur suivant s’affiche :

Printer \\server\queue not found

Pour résoudre ce problème, autorisez JBoss à s’exécuter dans le contexte d’un utilisateur valide. Pour ce faire, modifiez les propriétés du service JBoss en cliquant sur l’onglet Ouvrir une session en tant que et en sélectionnant l’option Ce compte. Indiquez un nom d’utilisateur et un mot de passe valides.

Remarque : cela vaut uniquement si le système d’accès SharedPrinter est utilisé.

Envoi du document à une imprimante réseau

Vous pouvez envoyer un document vers un URI LPD (Line Printer Daemon, démon d’imprimante en ligne) lorsque le réseau intègre un démon LP en cours d’exécution. Vous pouvez acheminer le document vers n’importe quelle imprimante connectée au réseau. Cette imprimante peut se trouver sur un ordinateur différent.

Après le référencement des données de formulaires XML et la configuration des options d’exécution, vous pouvez appeler le service Output. Le service Output envoie le document à une imprimante réseau. Il est recommandé d’utiliser le protocole CIFS lorsque cela est possible. Une imprimante partagée peut être utilisée lorsqu’une imprimante est installée localement.

Un fichier PostScript créé à partir d’une conception de formulaire qui contient une taille de page personnalisée ne s’imprime pas correctement. Pour résoudre ce problème, configurez l’imprimante de façon qu’elle gère les tailles personnalisées. Chaque imprimante gère les tailles personnalisées de manière autonome. Certaines imprimantes peuvent vous permettre de configurer la taille des pages, le type de support, les bacs d’alimentation, etc. Reportez-vous à la documentation de votre imprimante pour savoir comment la configurer afin qu’elle gère les tailles personnalisées.

Lorsque vous envoyez un document vers une imprimante, prenez en considération les facteurs suivants :

  • Définissez PrinterProtocol sur SharedPrinter, ServerURI sur une valeur vierge et PrinterName sur une valeur qui indique le chemin d’accès à l’imprimante (par exemple \\server12r-nt\HP LaserJet 8150 PCL 6 Tower II Level 5).

  • Vous pouvez récupérer la valeur de PrinterName au moyen du chemin correspondant à l’emplacement d’installation de l’imprimante. Imaginons que l’imprimante se trouve sur le serveur server12r-nt. Pour obtenir le nom de l’imprimante, sélectionner Démarrer, Imprimantes et télécopieurs, cliquez avec le bouton droit de la souris sur l’imprimante concernée, et sélectionnez Propriétés. La zone de texte affiche le nom de l’imprimante sur l’onglet Général.

  • Une erreur peut se produire au cours d’une tâche d’impression avec un protocole SharedPrinter du fait d’un identifiant de connexion incorrect (voir Exécution d’un service sous Windows).