J'ai fait une petite application pour faire des factures d'expédition, où un utilisateur entre dans les informations souhaitées et que vous puissiez prévisualiser (un formulaire avec un contrôle ReportViewer s'ouvre) ou imprimez DIRECLTY. Le ReportViewer utilise un rapport local intégré à l'application. P>
Exemple ici: strong> http: //i.stack.imgur. com / z90z8.jpg p>
J'ai essayé l'application sur une machine WinXP, Vista et Windows 7 et il n'y a aucun problème, le rapport est prévisualisé correctement. p>
Mais lors de l'installation sur le serveur directement (2003 R2, 64 bits), la police est étirée (même l'impression de la commande). Lors de l'impression directe (j'ai créé mon propre code pour le faire, le rapport est rendu dans EMF puis l'imprime) J'ai le même problème. P>
mais lors de l'enregistrement en PDF ou au mot à partir du contrôle ReportViewer, l'apparaît correctement. P>
Ceci est une gêne, car nous nous sommes à distance du serveur pour utiliser notre programme MRP principal, il sera préférable que l'utilisation du programme à l'intérieur du serveur sera la meilleure, donc nous ne le disposons donc pas de revenir à la machine de bureau pour une seule opération . p>
En passant, il s'agit de la police Ariale normale, donc ce n'est pas un problème de police manquant. De plus, le serveur a un couple de cristal (version 9 que je pense) et d'exécution de rapports SQL Server 2003 installés sur eux. Ceci utilise Visual Studio 2010. P>
3 Réponses :
J'ai couru dans le même problème avec une machine virtuelle hébergée sur une boîte Win2008R2. La solution que j'ai trouvée a été postée par l'utilisateur Cassisi : P >
La touche pour la correction du serveur lui-même consiste à assurer la résolution de bureau prise par le service SSRS est 1024x768 (c'est-à-dire un ratio 4: 3) si le serveur se rapproche via des services de bureau. P> blockQuote>
En tant que solution de contournement, je vais essayer la solution décrite dans son article sur l'impression haute fidélité. p>
C'est la raison, j'ai testé un poste de travail distant en modifiant la résolution et le problème est parti. J'ai "contourné" le problème en désactivant l'impression dans le contrôle de la visionneuse de rapport (qui est maintenant comme un aperçu) et a fait ma propre procédure d'impression qui utilise PNG au lieu de EMF.
Travaillé pour moi aussi. Une chose importante. Vous devez définir suffisamment les propriétés DPIX / DPIY. 200. Si vous omettez cela, la valeur par défaut, qui est 96, vous obtiendrez un document imprimé flou.
@Exultd, j'ai le même problème, mais j'ai du mal à mettre en œuvre la solution. Avez-vous un exemple de code? Ou quelques conseils pour me signaler dans la bonne direction, comme quel (s) événement (s) implémenter
Bonjour, Découvrez Cet article . Cela devrait vous donner un début.
@Exultéd ofcourse j'ai vu cet article et l'avez examiné plusieurs fois, mais je ne peux pas le comprendre. Je voudrais empêcher la police étirée sur l'écran et l'imprimante.
@Rolanddeschain dans mon cas, la police n'est pas étirée à l'écran, c'est pourquoi la solution de l'article fonctionne. Et lorsque vous écrivez la police est étirée sur l'écran, voulez-vous dire que c'est déformé?
@Exulted ici, j'ai un exemple comment le texte est étiré et comment il est censé regarder. À la fois à l'écran et à l'imprimante, il est étiré. i.imgur.com/lxqdi.jpg
@Roland: J'ai utilisé le samplecode à partir d'ici: TTP: //msdn.microsoft.com/en-us/library/ms252091 (v = vs.80) .asp x J'ai changé le périphériqueIfo en PNG et uniquement des propriétés utilisées DPIX et DPIY avec valeur de 300. Dans la méthode de l'impression, modifiez le type de métafichier à l'image et chargez-le avec image.fromstream. Le reste devrait fonctionner correctement tel qu'il est. C'est aussi probablement une bonne idée d'utiliser path.getempfilename () dans la méthode Creattream.
@Rolanddeschain Je pense que c'est à faire avec les paramètres d'écran sur votre propre ordinateur. Quelle taille de texte utilisez-vous (100%, 125%, 150%)? Quelle est votre police par défaut (SEGOE UI ou MS SANS SERIF)? Utilisez-vous l'échelle DPI de style Windows XP?
@Christianhubmann J'ai essayé la solution que vous avez fournie, mais lorsque j'utilise la valeur 300 pour DPIX et DPIY, toutes les images du rapport seront très petites. Si j'utilise 96, les images s'afficheront correctement mais les polices ne sont pas lisses. Aucune suggestion?
Utilisation de la connexion de bureau à distance à la résolution du ratio 4: 3 fixe pour moi. P>
Ceci est un problème connu et il a fallu beaucoup de temps pour les développeurs de services de rapport et Dynamics NAV pour étudier et disséquer la cause première d'un problème de protocole de bureau à distance Windows. p>
Il y a 2 solutions disponibles: p>
Est-ce un problème d'enregistrer à PDF d'abord, puis d'imprimer à partir de là?
Si c'est juste pour le bouton d'impression et serait automatisé, alors non. Mais dans la fenêtre de prévisualisation, connaissant les utilisateurs, il serait trop compliqué, au lieu de simplement minimiser le bureau distant et le faire à la place de leur ordinateur.