Notre société développe une application (WPF, destinée à .NET 3.5) avec les composants de diagramme WPF de MindFusion. Apparemment, l'impression et la sauvegarde de documents XPS entraînent diverses erreurs sur différents systèmes.Problèmes avec XPSDocumentWriter et PrintDialog.PrintDocument
J'ai réduit le problème à un seul échantillon XPS Document créé à partir de notre application. Je vais d'abord donner un aperçu des systèmes concernés et résoudre les problèmes lors de l'enregistrement respectif d'un document xps et de l'impression du diagramme Chemin d'accès dans la liste suivante:
Remarque: Les trois systèmes ont Windows XP SP3 avec .NET 3.5 Framework SP1 installé.
Utilisation du XpsDocumentWriter pour écrire un document XPS avec le Paginator:
PC 1 - Le XPS Viewer (en collaboration avec IE 7.0) ne fonctionne pas (même après réinstallation de .Net 3.5) . XPS Viewer du pack Essential ouvre le document, mais la vue est complètement floue. Mais comme vous pouvez le voir, notre application sur le côté droit du screenshot utilise un DocumentViewer pour tester ce problème, qui fonctionne correctement. L'impression depuis le XPS Viewer corrompu donne la même sortie que sur l'écran, tandis que l'impression à partir de la fonction d'impression intégrée dans DocumentViewer (sans intervention de notre application) donne une sortie floue qui est un peu plus lisible mais pas acceptable.
PC 2 - La visionneuse IE XPS fonctionne correctement. La sortie d'impression est incohérente. Parfois, les graphiques (formes) ne sont pas complets, ou le périphérique d'impression signale le manque de mémoire (avec le même document).
PC 3 - La visionneuse IE XPS fonctionne correctement, mais l'initialisation d'un travail d'impression entraîne toujours exception dans IE lui-même. Note: Tous les problèmes mentionnés ci-dessus ont été testés avec le XPS Document (déjà mentionné ci-dessus) créé par notre application.
Création d'un travail d'impression avec PrintDialog.PrintDocument et Paginator:
Impression à partir de notre application donne une sortie compatible avec tous les systèmes: plus le document (parlant en terme de la taille du support de la page), la c'est plus flou. Malheureusement, beaucoup de causes potentielles ont déjà été omises. Le code for printing the document est assez simple.
• Au lieu d'utiliser notre propre Paginator, j'ai remplacé ce dernier par une autre partie Paginator des composants de diagramme MindFusion WPF que nous utilisons. J'ai atteint le même résultat. (Cette instruction est également vraie pour XPSDocuments enregistré en tant que fichier).
• J'ai utilisé le dernier pilote d'impression disponible
• Les modifications apportées à PrintTicket résolution ne semble pas affecter la ouput de quelque manière que
• Utiliser un autre visuel au lieu d'un schéma (comme la fenêtre de notre Application elle-même) n'affecte pas la sortie
En raison de ces différents problèmes, il semble que plusieurs causes sont également probables.Les exclusions précédentes m'amènent à supposer que certains paramètres cruciaux manquent dans le PrintTicket, ou quelque chose de terriblement mauvais se produit avec les scènes de XPS à GDI Conversion. En dehors de ces hypothèses, je suis à court d'idées.
Remarque: Tous les périphériques d'impression ont des pilotes non-XPS. HP Designjet 500, HP 2100
Last but not least, j'ai sérialisé le même PrintTicket utilisé pour le fichier de document XPS et le travail d'impression. Je serais reconnaissant si quelqu'un a connu des problèmes similaires. Toute suggestion est la bienvenue.