Citrix Universal Print Server – Résolution des problèmes d'impression de pages blanches ou d'impression incohérente. – Trentent Tye – Microsoft MVP – Bien choisir son serveur d impression
Nous avons une application codée en dur pour mapper les imprimantes via un chemin UNC. C'est le fléau d'un administrateur Citrix qui veut minimiser le nombre de pilotes sur le serveur XenApp car chaque connexion UNC peut demander une installation de pilote (c'est ainsi que notre environnement est configuré). Cliquez sur "Installer le pilote" et boum, votre serveur Citrix a un autre pilote sur votre serveur et un autre point d’instabilité possible.
Citrix a tenté de résoudre ce problème en utilisant le pilote d'impression universel (UPD), mais cela mappe simplement les imprimantes de votre système local à la session Citrix. Chaque imprimante reçoit un nom unique et chaque file d'attente reçoit également un port unique.
Malheureusement, cela rend impossible pour notre application codée en dur d'utiliser une imprimante cohérente car ces files d'attente et noms n'existent que si nous les installons localement. Si le programme affichait une simple boîte de dialogue d'impression, ce ne serait pas un problème, mais il n'est pas codé de cette façon.
Heureusement, Citrix a mis au point une solution * assez * élégante: Citrix Universal Print Server (UPS). Son fonctionnement oblige les imprimantes réseau mappées à se présenter à l'aide du pilote d'impression universel Citrix. Il y a deux parties à cela, l'onduleur Citrix et le client d'impression universel (UPC). L'onduleur va sur votre serveur d'impression Windows et l'UPC va sur vos serveurs XenApp.
Serveur XenApp |
Serveur d'impression Windows |
Pour activer la fonctionnalité UPS et que vos imprimantes réseau utilisent 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 disposez d'une version antérieure à 1.7.0.0, vous n'aurez pas accès à la politique correspondante:
La définition de ce paramètre sur «Activé» active la fonction UPC. Pour toute imprimante réseau que vous mappez au serveur d'impression Windows avec l'onduleur, elle utilisera Citrix UPD. Pour vérifier cela, accédez à votre serveur XenApp et mappez une imprimante à partir de l'onduleur et regardez le pilote.
UPS en action. Notez que le pilote de l'imprimante réseau est «Citrix Universal Printer» |
Ok, donc avec UPS installé et fonctionnant, nous devrions être bons non?
Droite? 🙂
Eh bien… Il s'avère que nos imprimantes d'étiquettes imprimaient des blancs avec Citrix UPS. Pour déterminer si c'est vraiment l'onduleur à l'origine de mon problème, j'ai activé le mappage d'imprimante, ajouté l'imprimante réseau localement avec le pilote natif et lancé mon application. Cela a mappé mon imprimante locale dans ma session avec Citrix UPD. J'ai essayé d'imprimer et… rien. Une étiquette vierge est sortie.
Pour dépanner ce processus, Zebra dispose en fait d'un bon document pour déterminer si votre imprimante effectue un rendu / impression correctement en imprimant dans un fichier texte. Si une nouvelle imprimante Zebra est suffisamment 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 d’étiquettes présente physiquement à côté de vous. Les anciens Zebra 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 qui sortait 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 Zebra?
Eh bien. Curieusement, si j'ai imprimé le même document à partir d'Adobe Reader, il est sorti comme ceci:
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 semble bonne |
Ainsi, lorsque nous imprimons à partir d'Adobe Reader, nous obtenons le résultat attendu. Mais si nous imprimons depuis PDF Architect ou directement depuis notre application, nous n’obtenons rien et les données manquent complètement! C'est vraiment un problème étrange. Le pilote Zebra montre ses formats pris en charge:
En utilisant l'UPD «mappé par l'imprimante», en évitant l'onduleur, nous pouvons activer la fonctionnalité «Aperçu avant impression» et regarder 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 semblait légèrement plus lourd dans ses lignes que PDF Architect, mais les deux fichiers SPL avaient du contenu. C'est toujours très déroutant pourquoi Adobe Reader imprime réellement, mais pas PDF Architect. Peut-être que c'est dans la façon dont Adobe Reader traite son fichier? Je ne sais pas. Peut-être existe-t-il un moyen de modifier EMF sur Citrix? Il s'avère que vous le pouvez.
Citrix offre la possibilité de modifier le fonctionnement du pilote EMF en le retraitant. Vous pouvez activer cette fonctionnalité via la stratégie de groupe.
Retraiter EMF pour l'imprimante |
Cela at-il fait une différence? Non. Encore une page vierge / pas de contenu pour PDF Architect, Adobe Reader s'imprime très bien.
À ce stade, j'étais au bout de mes cordes et j'ai décidé de saisir les pailles.
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 être fait comme le pilote Zebra ne fait que EMF ou RAW et l'UPD ne sortira que des fichiers EMF. Pour activer l'impression XPS, j'ai modifié la préférence de pilote universel pour favoriser XPS.
J'ai réimprimé sur XPS depuis PDF Architect et Adobe Reader. Encore une fois, Adobe Reader est apparu plus sombre, mais encore une fois, il y a du contenu à imprimer à partir des deux bobines.
Architecte PDF à gauche, Adobe Reader à droite |
Et qu'a montré la file d'attente d'impression?
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 / zvyQOWNbKg5YDwEm6XNgx44dERERERERERERERERERERERER / Wdsa4y / Fv0hMhOuM96UQ3XwwmVEREREREREdFh + 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 53f6b8ndl8ae0kdut74gmuqXhpA451uX1CTfTLneR2KOeJP / XJ5 / 3aNJj / 7fecKb0N4YBXnFvo + siZ + cCQJaPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA^ PQ1,0,1, Y ^ XZ
Succès! Il semble que la modification du chemin de rendu en XPS fonctionne pour résoudre les données qui ne sont pas rendues. Lors de l'impression à 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
Commentaires
Laisser un commentaire