Meilleur auteur de réponses
Comment : imprimer des fichiers XPS par programmation

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
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,
- Marqué comme réponse Aurel Bera jeudi 24 janvier 2013 06:24
-
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
TryFound = 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
-
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
Toutes les 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,
- Marqué comme réponse Aurel Bera jeudi 24 janvier 2013 06:24
-
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
Bonjour,
Nous changeons le type de votre question à « Discussion générale ». Si vous avez plus de temps pour réexaminer la question et fournir plus d'informations, n'hésitez pas à modifier le type du thread à « Question ». Si le problème est résolu, s’il vous plaît partagez la solution avec nous afin que la réponse puisse être trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.
Merci !
Cordialement,
Aurel
-
Bonsoir
et merci pour votre aide,
la solution ne fonctionne qu'á moitié. le "PageOrientation.Landscape" ne fonctionne pas à chaque fois pour les copies d'écran(xps).. étrange...
les rapports(xps) (à base de textes) sont eux imprimés en "Landscape"..pas bon!
Je continuerai la conversation demain, j'ai une mise à jour de win 7 qui prend trop de ressource.
A demain,
Dan'
-
Bonjour
Comment vous generez les fichiers XPS?
S’est programatique ou avec un outil?
Si vous essayez de visualiser les fichier XPS, l’images sont entiers ou non?
Cordialement,
-
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
TryFound = 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
-
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