none
Comment : imprimer des fichiers XPS par programmation RRS feed

  • Question

  • Bonsoir à tous,

    J’utilise la source [Comment : imprimer des fichiers XPS par programmation] (http://msdn.microsoft.com/fr-fr/library/vstudio/aa969772.aspx). Cela fonctionne très bien. Je l'utilise pour imprimer plusieurs documents xps en même temps, ce sont des rapports (à base de textes) et des copies d'écran... là commencent mon petit problème. Les rapports sont imprimés correctement, mais les copies d'écran sont imprimées horizontalement au lieu d’être vertical. Sur la feuille apparait que la moitié de la copie d'écran. J'ai essayé les réglages de l'imprimante sans succès. Mon imprimante n'est pas une imprimante XPSDrv.En VB.....VS 2012

    J'espère que quelqu`un pourra me donner un petit coup de main.

     

    Merci à l'avance

    Dan'

    • Type modifié Aurel Bera lundi 21 janvier 2013 08:13 Discussion
    • Type modifié Aurel Bera jeudi 24 janvier 2013 06:24 Question
    lundi 14 janvier 2013 19:19

Réponses

  • Bonjour

    La solution c'est d’imprimer les pages en mode "landscape" - paysage.

    defaultPrintQueue.UserPrintTicket.PageOrientation = PageOrientation.Landscape;

    Reference ici : http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/518f362e-d381-497a-ae2f-68f1dda7c561

    Ca vas imprimer tout le document en mode paysage.

    Une autre solution c’est d’utiliser une rotation pour les images, mais ça vas changer le mode de génération du fichier XPS .

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    • Marqué comme réponse Aurel Bera jeudi 24 janvier 2013 06:24
    mercredi 16 janvier 2013 09:41
  • Bonsoir,

    Les fichiers XPS sont générés par un système extérieur.

    Je pense avoir la solution: je cherche dans le nom du fichier (f.Name) le mot Screenshot

    (20120103_131000_Screenshot_JZ31166_ISID9_Microsoft XPS Document Writer_120103_011030.xps)

    pour gérer les fichiers Screenshot et les autres séparément

    ca fonctionne chez moi, Je fais les tests demain la où mon program. est installé

     Salut,

    Dan'

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     For Each f As FileInfo In dir.GetFiles("*.xps")
                        Dim nextFile As String = directoryPath & "\" & f.Name
                     Try

                       Found = InStr(f.Name, "Screenshot") 'Screenshot  

                            If Found <> 0 Then

                                defaultPrintQueue.UserPrintTicket.PageOrientation = PageOrientation.Landscape

                                Dim xpsPrintJob As PrintSystemJobInfo = defaultPrintQueue.AddJob(f.Name, nextFile, False)

                            Else

                                defaultPrintQueue.UserPrintTicket.PageOrientation = PageOrientation.Portrait

                                Dim xpsPrintJob As PrintSystemJobInfo = defaultPrintQueue.AddJob(f.Name, nextFile, False)

                            End If                                                        Catch e As ApplicationException ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    • Marqué comme réponse Aurel Bera jeudi 24 janvier 2013 06:25
    mardi 22 janvier 2013 22:12
  • Bonsoir,

    le test est réussi. Les screenshot sont parfaitement imprimés et les rapports aussi.

    merci pour votre aide

    la source (l[Comment : imprimer des fichiers XPS par programmation] (http://msdn.microsoft.com/fr-fr/library/vstudio/aa969772.aspx)) est parfaite.

    Salut,

    Dan'

    • Marqué comme réponse Aurel Bera jeudi 24 janvier 2013 06:25
    mercredi 23 janvier 2013 22:33

Toutes les réponses