Serveur d'impression

Trentent – Un seul et unique: Citrix Universal Print Server – Serveur d’impression

Le 25 juillet 2019 - 12 minutes de lecture

Nous avons une application codée en dur pour mapper les imprimantes via un chemin UNC. Il s'agit du flot d'un administrateur Citrix qui souhaite réduire le nombre de pilotes sur le serveur XenApp car chaque connexion UNC peut demander l'installation du pilote (c'est la configuration de notre environnement). Cliquez sur "Installer le pilote" et cliquez sur l'utilisateur pour que votre serveur Citrix dispose d'un autre pilote sur votre serveur et d'un autre point d'instabilité possible.

Citrix a tenté de résoudre ce problème à l'aide du pilote d'imprimante universel (UPD), mais cela ne fait que mapper les imprimantes de votre système local vers la session Citrix. Un nom unique est attribué à chaque imprimante et un port unique à chaque file d'attente.

Malheureusement, cela empêche notre application codée en dur d'utiliser une imprimante cohérente, car ces files d'attente et ces noms n'existent pas, à moins que nous ne les installions localement. Si le programme affiche une simple boîte de dialogue d'impression, cela ne pose pas de problème, mais ce n'est pas codé de cette façon.

Heureusement, Citrix a mis au point une solution * assez * élégante: le serveur d’impression universel Citrix (UPS). Comment cela fonctionne-t-il? Cela force les imprimantes réseau mappées à utiliser le pilote d'imprimante universel Citrix. Il s’agit de l’UPS Citrix et de l’UPC (Universal Print Client). L'onduleur passe sur votre serveur d'impression Windows et l'UPC sur vos serveurs XenApp.

Serveur XenApp

Serveur d'impression Windows

Pour activer la fonctionnalité UPS et demander à vos imprimantes réseau d'utiliser Citrix UPD, vous devez activer un objet de stratégie de groupe Citrix sur le serveur XenApp (c'est pourquoi vous voyez Citrix Group Policy Management (x64) 1.7.0.0). Si vous avez une version antérieure à 1.7.0.0, vous ne disposerez pas de la stratégie appropriée:

Le réglage de ce paramètre sur "Activé" active la fonctionnalité UPC. Pour toute imprimante réseau mappée sur le serveur d'impression Windows avec l'onduleur, elle utilisera Citrix UPD. Pour le vérifier, rendez-vous sur votre serveur XenApp, mappez une imprimante à partir de l'onduleur et examinez le pilote.

UPS en action. Notez que le pilote de l'imprimante réseau est "Imprimante universelle Citrix".

Ok, donc avec UPS installé et fonctionnel, nous devrions être bons, non?

Droite? 🙂

Eh bien … Il s’avère que nos imprimantes d’étiquettes imprimaient des découpes avec Citrix UPS. Pour déterminer s'il s'agissait vraiment de l'onduleur à l'origine de mon problème, j'ai activé le mappage d'imprimante, ajouté l'imprimante réseau localement complétée avec le pilote natif et lancé mon application. Cela mappait mon imprimante locale dans ma session avec Citrix UPD. J'ai essayé d'imprimer et … rien. Juste une étiquette vierge est sorti.

Pour résoudre ce problème, Zebra dispose d’un bon document pour déterminer si votre imprimante effectue le rendu / l’impression correctement en imprimant dans un fichier texte. Si vous avez une nouvelle imprimante Zebra installée, vous pouvez l’utiliser pour «prévisualiser» l’étiquette afin de ne pas gaspiller de papier ET vous n'avez pas besoin d’une imprimante pour étiquettes physiquement à côté de vous. Les zèbres plus âgés ne semblent pas avoir cette fonctionnalité (LP 2824 je vous regarde!). J'avais un fichier PDF que j'ai essayé d'imprimer à partir de PDF Architect et exporté dans le fichier texte.

Alors, à quoi ressemblait mon travail d'impression?

CT ~~ CD, ~ CC ^ ~ CT ~
^ XA
^ PW445
^ PQ1,0,1, Y ^ XZ

À quoi cela ressemble-t-il sur le zèbre?

Eh bien. Curieusement, si j’imprimais le même document à partir d’Adobe Reader, le résultat était le suivant:

CT ~~ CD, ~ CC ^ ~ CT ~
^ XA
^ PW446
^ FO0,0 ^ GFA, 23296,23296,00056,: Z64:
eJztmrFuE0EQhvecCw4oIha6woQliUQELUJISekCUacIissAViJRWY4TWxQoQhSUKShc5jFc5jGucBHxCFQnFNnsnk1zV / jmMzqFaP4uxaeZnd1 / Z24dY1QqlUqlUqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlUKpVKdTu1OfmrsYirmdCYuvlgTOXuck3IJZCLIdcnXAvm2YXcNtyHLq8LirdAnohrQe51yXlWJxN6Xv6LfSib2y // nKH7jPqd + Q8F / b5Anuj + 7MJ6Ot8OS + 4rBfbBQo7GK5uj63uY + Xs2L / 2cxz2AXDbeLM8vsC6fbxuX24dlGG8p5Tqlre99MS63f28h14PcXjFuDca7n + U + + Om4dxHvluE1cl7n7nuMOHbcxP956ltsplmeU5bopNzfPHNd23NP53EaWewn7w1Ho 5HcDzvp95GcO3HcZPJbzFWhbyuwLv6cDcwntD6S5yPIncF7sA3j7X1jHI3n9 + Ex2L / lljeJvC6dN4X8nuOOt9n6trqF7okc5 + vyBMSLit3XOe6wxerS6bK6HKd1kfuv576r7DWcXy7h / Hkt5ui722LvdWO4vq9yrg25PcjRPBdZX3xD + 4qcewf7mMuzTr43z + D32EFobCz3Q + 00NFEC / NeD77SuLjZpyDk3h6wCv / tztpIAbs3l2Qe + dfUMof / qCfORjQH33O8D4M5gPH9e + sC3Dei / e5B7Af3Xg9zJ7Xy3yaroO8q / ircYx + 6JMucQz9UhZ + vg / nRcVPIcYiG3Sriau + fhvUvzDMkcssXnAkve59N + y + 5BS / x36ucCcK4PfJ8G / uu4c70L8nTzhB0CH634ejLfrpK69Hw84Nt96IdncC7o + P4OONenwyHzH5qXGv5cA9 / 6OZL4YQv6qA37XxvGS / sR41BdDM / zLs8Fi81ZbC6A7xPBFfzuP2ccjReMYJ4RXR + ZC1yeDfI + + 4bgY UGC / a4djODv6D9Y3wyumsx / aO7xfZr5KBjA9Y3IXODP C5kL0vcQ6CPSp128EXzX + E7eGXyeZA5x8RoJ8 + 2A + c / dZ6VzJf8 / A / k9oOr7n / x3yin3q7w8034LubH895XpdzjlWJ7Mf8YMWDwL86zFN2x9sD / YJvz / l0Tso2DWx6Tc8oXn + uJzvZRyyaWUC2f / ty3lqtP1iX2UxouG4vVN6ynnQl + XKBmzejbZuY4SMVdJ17cr9m1al3oMfQv7u4lvjsg + AB + Zi2kfk96fFdj / Av9OhDiLOFcX1DeXLiz8np5y0v1TqQroD3Suisg =: DA24
^ PQ1,0,1, Y ^ XZ

L'étiquette a l'air bien

Ainsi, lorsque nous imprimons à partir d'Adobe Reader, nous obtenons le résultat attendu. Mais si nous imprimons à partir de PDF Architect ou directement à partir de notre application, nous n'obtenons rien et les données manquent complètement! C'est un problème étrange en effet. Le pilote Zebra affiche ses formats pris en charge:

RAW ou EMF … L'UDP Citrix possède deux modes, EMF ("pilote d'imprimante universel Citrix standard") ou XPS ("Pilote d'imprimante universel Citrix XPS"). Je suppose que EMF à EMF serait la voie à suivre?

En utilisant l'UPD "Imprimante mappée", en évitant l'onduleur, nous pouvons activer la fonctionnalité "Aperçu avant impression" et consulter le fichier EMF tel qu'il est placé dans la file d'attente d'impression. Voici ce que je vois:

Adobe Reader à gauche, PDF Architect à droite

Eh bien, du contenu est envoyé à la file d'attente d'impression à partir des deux applications. Adobe Reader paraissait légèrement plus lourd que PDF Architect, mais les deux fichiers SPL avaient un contenu. La raison pour laquelle Adobe Reader s’imprime en réalité reste difficile à comprendre, contrairement à PDF Architect. C'est peut-être dans la manière dont Adobe Reader traite son fichier? Je ne sais pas. Peut-être y a-t-il un moyen de modifier EMF sur Citrix? Il se trouve que vous le pouvez.

Citrix offre la possibilité de modifier le fonctionnement de son pilote EMF en le retraitant. Vous pouvez activer cette fonctionnalité via la stratégie de groupe.

Retraite EMF pour imprimante

Cela a-t-il fait une différence? Non. Toujours une page vierge / aucun contenu pour PDF Architect, Adobe Reader s’imprime parfaitement.

À ce stade, j'étais au bout de mes cordes et j'ai décidé de m'attaquer à la paille.

L’onduleur Citrix vous permet également d’utiliser le pilote XPS au lieu du pilote EMF. Cela forcerait un chemin de rendu complètement différent, XPS -> XPS vers GDI -> EMF -> Pilote GDI / DDI -> Périphérique d'impression PDL. Nous savons que cela doit se passer ainsi car le pilote Zebra ne gère que les fichiers EMF ou RAW et l’UPD ne produira que les fichiers EMF. Pour activer l'impression XPS, j'ai modifié les préférences du pilote universel afin de privilégier XPS.

Je me suis réimprimé sur XPS à partir de PDF Architect et d'Adobe Reader. Encore une fois, Adobe Reader s’est montré plus sombre, mais encore une fois, du contenu doit être imprimé à partir des deux spools.

PDF Architect à gauche, Adobe Reader à droite

Et qu'est-ce que la file d'attente d'impression a montré?

Architecte PDF:

CT ~~ CD, ~ CC ^ ~ CT ~^ XA^ PW446^ FO0,0 ^ GFA, 23296,23296,00056,: Z64:eJzt2z9oE2EcxvHnLm8uF7nYawgaJYQjFLFOwdHpUkWDiH87OjQY6 + JmcXI4Q4QITTlxcE1shg7ipOBmhg4dRRzEKQiCnRx1q2 + S / rGhubw5qgR8PkO45O7L + 7vkcpkCEBERERERERERERGpceBZ0GC6ltwW6l2 + tbboNm / W3RWx3H6PC0XFLtVae51b / VjvVF6ecZo3ps1QU6uxg3fvnK3mTWqXcL6jChG1nzoKnV7KVNu9LWu2DC + Z0pKbKuvpm61WO8ycP + 5 + 2 + 7mgY05IRS7PSnZXa7ihO2P142aMx3Y9fcWSoNd8nzgVSyudB + f33k82B1T6LTPuUM8v8Av6qR1esgu55r24C6VznGfhVpv17zvhum0T1 + 6nbhujrle38UXtRHd9NHqAd3oOQe7uFxoBgn5NdDdhtFQnjOegfEWiWVkI8UFYz2wEy4wZNrgrukb6903MDNeF8MHHaflk7I8sOaZ / Yuu4uPcgkC096Qw6vyOdKBtX6w + zjpV + buo1I0z59 / o8ril0mmdKWTRmfJ + aZ0sprBk44HSeieL8iUds6KCgo + NuuqcWbNhIw7NmEOhDW / FU + zSZu / WqMk15bHezmU0Kfezf9lFneO9zdiqfNAzr2rJU3vd1UI8PaS7dv9S / 5h7QOTrI2vr9s / do8TDJ6V3Q7pF3d03l7V / zvyQOWNbKg5YDwEm6XNgx44dERERERERERERERERERERERERER / Wdsa4y / Fv0hMhOuM96UQ3XwwmVERVEREREREREERERERERERERERER / Wdsa4y / Fv0hMhOuM96UQ3XwwmVERVEREREREREERERERERERERERERER / Wdsa4y / Fv0hMhOuM96UQ3XwwmVERVEREREREREERFER +: A05IoVY =: EC01^ PQ1,0,1, Y ^ XZ

Adobe Reader:

CT ~~ CD, ~ CC ^ ~ CT ~^ XA^ PW446^ FO0,0 ^ GFA, 23296,23296,00056,: Z64:eJztmkloE1EYx99MJnHE1CSCVgSbBEVxQy81WtBqpZViEREUitYISsGDeBAsepnXGhcUN + xBEDXFS / FgsaKHSiEIIiiYVBEqGlLXlmJd2yRVk / FNlppM0mQSRS38f8yWN / PL9711cgghAAAAAAAAAAAAAAAAACYo4mLLuguigSyr2zDkfa8L9oc1iiV + 6eTQa2fpvd59O / aGmzqWafQa / NL5jpFA6dtnQ4 / 2hIP9Wr0Y5kIeJqRSVhFVF8ShKk + Vky15YWC7ENsIxxxOHe9fe2LSK3lyXV8hVcuPF60tKJ7R6dVPkd7u / y5ribfk8aC / mDznNjxIesNuYbRCX3FwpZ1oyPM4oQnvsudI2039yY2mGwXVr7A8NXvlh7pyefrNzGmOPs3wHN8GEldimjc14fmYd8x5IMOrDKQN30jsGPpVwG5HWGEks368Kk8 + lmR6 / dZkaRdeVZLpkeweZSfWbZSmxWOfBMo8yuLRbF6M7tqtp4rJ82Nt6Mfv1K8gT0zxuu7cZZIoxjxRc7w5Dz8q3ui2mrzxdKn93hfPU77YmMcrb9qlDBCnFJJkaczLXz + H9Eo5UWVjB1upr8XafXTWYM1z72eXqdUV9zy56qes2DbrJr70h2Hq9sZaKeQqCedsF6HdbWp3EzMXLqwfJq3vm3S / j3mfiO3D8ipH9TzdtRpuhk9wLHQRE + GO7qxqU3srlO8XGYTMZB1pk6P80qjB5DVwUY9x1VcjmUK5M + 41L9VeZXKWBeRfM1GZcXKEfZaUCSkpRdm9 / ORrT1W76Ov4FUqbZO8HGvfYDEzxKBUodW1vGWhmPduc6Y2hxLNHZndW9gStPlkXse629shk3PUzLU97ydkv9voyc + 8Zfvq5N5Z6E7utyRPNLXZuhpme5s0WwcIZc3piijfzxAKVN1lLPJ + VX829s5Kgrq9MKOOGNeZpyxif43q6kDM + JGLjRWLTMCJLTZLUFFu5lTtsD2XxNI0XmpnnlpHvHuVyGlsJ 53f6b8d8fb^ PQ1,0,1, Y ^ XZ

Succès! Il semble que le fait de changer le chemin de rendu vers XPS fonctionne pour résoudre les données qui ne sont pas restituées. Une fois imprimé à partir de l'application avec le pilote EMF et qu'une page vierge a été crachée, j'ai réessayé avec le pilote XPS et cela a fonctionné avec succès:

CT ~~ CD, ~ CC ^ ~ CT ~^ XA^ PW446^ FO0,0 ^ GFA, 23296,23296,00056,: Z64:eJzt1n1ME2ccwPHnaeFg7hbKusnVmOGcmjkmNsY / DM0sJg7nZpZFo0usstZMNhFlL5lxCt6VZIU5E7YFR30DMqO4SRAZqQsRfFiJss3Ejf6hMAqaxS3dnG0Gdmppb3el2BJKez224bbfJ + FycPflueee9lqEAAAAAAAiJBGc + 1yuCnHoDdy5cXZqxouodbkqm4vXUdddK0s + APLO + idzmvZ / szz304qTVRXmZ + OOpxhYubFw6QHPZv / CurZpa81Pnfj4kZOKtSRel9rz5updv78y1z93 / pJjZQWM9usnki5qTXGvMyRJ4nmTkcnLglRR / hfmIn8j4oYRfujgr8Et / i91Bad7mjQHLwSK + gLXt92W3r31falW8 + 2K7U / 3e + v5E7G6Aw35WXdHY7LpdI9Hs1cYr4ot8F6N1R1u2aHLIffmlyTOTyVhftaGDRHjiRuJ9wVHzg8v + hIxN3VX6Aubti1uln5fsMOKNDdndNE / Hm3LaElg / VY3IU2XzkrbjQ2PNspZ99Tw / B72z / tOatdrFLeKge4bGKmdi65I7QyzxC3lHBwWutJ5H0rtulGwq3a8jmW / byfxfqeiXic1uhNxP9HIlhlZh39XlzyYZzDoZHTu1 / ZseTfxjrLlGX545 / 6 / L5FdWeuZSxZxp6Z6fksCneWXcy + MdIPPlCTSfd57KU / cOWKbaDx1367yca9aCfObcWh3yvgu2Ykope9XXPZFjrHzp8btOQzlqLvXzRTHO7w + 8jpHnh5cipOjlJ + 5cJmvcNZ5r7 + 4kKH662LNL9Ql70eUwufCXPNOY + fm9sKdDHWGi9KpjxWh7G6b + Fc8nMD6Ta8PoKVr + GC3IYEu470htOCru6PjmdsbvVRavq3DXHqKI8p1NYjJer5GKLYKZ9BdjHpZ9PmZiwIHqbS3A8vM7laOKPp6EbPQsFc4tkA448GLjPraBN25Ng81rX8Im9uyEVFerkJM9nqrcCxLOOOhCkbZMdXPwdD6Rb + f3YTu jfjclNzlE9oQsysfsv9h0TsyBypd5W7CHtefZfhVe4bX1QkfEbG6Su + KgIXt0ftqb1T6Cd / MDmn4V / m + 4OFY3b7F5zMtJod2wLpln57Yj5vOaspX2Yfjd1qKoUyctsNqpLXEjkycxoLs9H3XVXpSblMsp ++ ovZrmITxiOU0A8X9fN8G6 / 0xD + OeZhNc1I7MTr / PlYt1WErrOy03i98jZTyrefwBztjFfbWiCU61zXgrPjy3Z8Vtu6JhTeMjg6lv6n10u1lfvGdPV8jVu3hPuiot3G0bHqxYehvjQrVMFd + 6WG + 1ju4CzP8sf7v7x + XJ1 / cajw7sx1h066KCDboq6TBkPQX4S37MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + P96DKkel9Op + fRrcrqZ7nSTnC7djYmcDi2RVQEAAAAAADBF / gTXZRgw: 7C79^ PQ1,0,1, Y ^ XZ

À cette fin, je termine mon travail. Malheureusement, je ne sais pas pourquoi Adobe Reader a toujours fonctionné sans problème, contrairement à deux autres applications. Lorsque je suis en mode EMF, je peux envoyer une page de test à l’imprimante via les propriétés d’impression, qui contient tout le contenu. Je peux également imprimer du bloc-notes à la file d’attente EMF et tout fonctionne correctement. Pour une raison quelconque, quel que soit le chemin utilisé par PDF Architect et mon autre application pour imprimer sur le pilote EMF, cela ne fonctionnait tout simplement pas. Citrix EMF Viewer afficherait le contenu, ce qui impliquerait la présence de données. Je sais qu'il existe plusieurs versions d'EMF (NT EMF 1.003-8) que vous pouvez choisir dans les propriétés du processeur de l'imprimante, mais il semble que le pilote Zebra ignore ces paramètres en faveur de la sélection que j'ai précédemment publiée. Forcer un processeur d'impression différent (HP ou Lexmark) en plus d'un type de processeur d'impression incompatible (TEXT / XPS), le pilote Zebra fonctionnera toujours. Alors, c’est peut-être une question de compatibilité de version EMF et quelle que soit la version d’adobe utilisée par Adobe Reader?

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.