Fred : problème de dimension des pages d'imprimantes
Publié : sam. 23/nov./2019 12:02
Bonjour a tous, et
Bonjour (ou autre chose) a Fred !
Ce post s'adresse avant tout a Fred, mais vous pouvez test vos imprimantes et me dire si
avez le même résultat que moi et me souffler une solution.
Je possède 2 imprimantes (une laser couleur, une jet d'encre) et une imprimante virtuel PDF
fourni par mon serveur d'impression (Cups).
Mon imprimante par défaut est la jet d'encre Epson ET2700.
J'édite des documents sur l'une ou l'autre en fonction des besoins (dans mon interface
d'édition, j'ai un bouton "impression directe", donc avec DefautPrinter, ou "impression choisi"
en passant par PrintRequester) !
Mais je n'ai jamais compris pourquoi j'ai une différence d'impression entre DefautPrinter et
PrintRequester pour le même document sur la même imprimante ?
Je viens de m'apercevoir que les dimensions ne sont pas les mêmes !
(Vous allez dire : Bien sur ..... !!)
Exemples exprimer en Points :
Avec DefautPrinter Avec PrintRequester
Epson ET2700 559*784 578*825
Sansung CLP312 559*784 570*816
Cups PDF 559*784 595*841
Trois remarques :
1) Les dimensions, avec PrinterRequester reflètent bien les différences entres les imprimantes
(même la virtuelle), jusque là : c'est normal !
2) DefautPrinter est en principe utilisé pour accéder directement a l'imprimante par défaut,
or je ne retrouve pas les mêmes dimensions (l'Epson utilisé avec DefautPrinter n'a pas les mêmes
dimensions de page, que si je l'utilise en passant par PrintRequester !!) Idem avec les autres.
Pourquoi, puisque c'est la même imprimante !!!
3) Toutes les imprimantes qui sont utilisés en passant par DefautPrinter ont les mêmes
dimensions de page ! C'est pas le cas avec PrinterRequester.
DefautPrinter agit un peu, comme une 4ème imprimantes avec ses propres dimensions !
Est-ce dû a un pilote, a mon Linux, a Cups ou a PureBasic ???
Comment harmoniser les impressions entre DefautPrinter et PrinterRequester (pour la
même imprimante) ?
Fred, explique moi pourquoi et que puis-je faire afin d'obtenir un résultat identique;
(mêmes dimensions quelque soit la façon d'accéder a l'imprimante) ?
Note :
Je vous est joint un bout de code pour tester vos imprimantes; rassurez-vous pas d'impression,
juste des feuilles blanches.
Activer le débugueur ! Par contre un peu de travail pour sélectionnez vos imprimantes
et les définir par défauts.
Le test consiste dans un 1er temps a tester l'(Impression directe) pour cela il faut définir une
imprimante par défaut, puis faire une impression, puis de passer a la suivante... etc.
Puis dans un 2ème temps a tester l'(Impression choisie), cette fois la Requester permettra
passer d'une imprimante a l'autre. Résultats dans le débugueur.
Dis moi si avez le même (Bug ! ? ou pas) que moi entre DefautPrinter et PrinterRequester
pour la même imprimante !
Merci d'avance a tous ceux qui testerons !
Fred une réponse, ou un commentaire serait apprécié !
Bonjour (ou autre chose) a Fred !
Ce post s'adresse avant tout a Fred, mais vous pouvez test vos imprimantes et me dire si
avez le même résultat que moi et me souffler une solution.

Je possède 2 imprimantes (une laser couleur, une jet d'encre) et une imprimante virtuel PDF
fourni par mon serveur d'impression (Cups).
Mon imprimante par défaut est la jet d'encre Epson ET2700.
J'édite des documents sur l'une ou l'autre en fonction des besoins (dans mon interface
d'édition, j'ai un bouton "impression directe", donc avec DefautPrinter, ou "impression choisi"
en passant par PrintRequester) !
Mais je n'ai jamais compris pourquoi j'ai une différence d'impression entre DefautPrinter et
PrintRequester pour le même document sur la même imprimante ?

Je viens de m'apercevoir que les dimensions ne sont pas les mêmes !

(Vous allez dire : Bien sur ..... !!)
Exemples exprimer en Points :
Avec DefautPrinter Avec PrintRequester
Epson ET2700 559*784 578*825
Sansung CLP312 559*784 570*816
Cups PDF 559*784 595*841
Trois remarques :
1) Les dimensions, avec PrinterRequester reflètent bien les différences entres les imprimantes
(même la virtuelle), jusque là : c'est normal !
2) DefautPrinter est en principe utilisé pour accéder directement a l'imprimante par défaut,
or je ne retrouve pas les mêmes dimensions (l'Epson utilisé avec DefautPrinter n'a pas les mêmes
dimensions de page, que si je l'utilise en passant par PrintRequester !!) Idem avec les autres.
Pourquoi, puisque c'est la même imprimante !!!
3) Toutes les imprimantes qui sont utilisés en passant par DefautPrinter ont les mêmes
dimensions de page ! C'est pas le cas avec PrinterRequester.
DefautPrinter agit un peu, comme une 4ème imprimantes avec ses propres dimensions !
Est-ce dû a un pilote, a mon Linux, a Cups ou a PureBasic ???
Comment harmoniser les impressions entre DefautPrinter et PrinterRequester (pour la
même imprimante) ?

Fred, explique moi pourquoi et que puis-je faire afin d'obtenir un résultat identique;
(mêmes dimensions quelque soit la façon d'accéder a l'imprimante) ?
Note :
Je vous est joint un bout de code pour tester vos imprimantes; rassurez-vous pas d'impression,
juste des feuilles blanches.
Activer le débugueur ! Par contre un peu de travail pour sélectionnez vos imprimantes
et les définir par défauts.
Le test consiste dans un 1er temps a tester l'(Impression directe) pour cela il faut définir une
imprimante par défaut, puis faire une impression, puis de passer a la suivante... etc.
Puis dans un 2ème temps a tester l'(Impression choisie), cette fois la Requester permettra
passer d'une imprimante a l'autre. Résultats dans le débugueur.
Dis moi si avez le même (Bug ! ? ou pas) que moi entre DefautPrinter et PrinterRequester
pour la même imprimante !
Code : Tout sélectionner
Enumeration
#f1
#Option1
#Option2
#Bouton
EndEnumeration
Procedure TestImprimante()
Protected NumImp.l
; Ici test impression directe ou pas !
If GetGadgetState(#Option1) = 1 ; Impression en utilisant DefautPrinter
NumImp = DefaultPrinter()
Else ; Impression en utilisant PrintRequester()
NumImp = PrintRequester()
EndIf
If NumImp And StartPrinting("Test")
;Initialisation dessin vectoriel sur la sortie imprimante
If StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Point))
Debug "Dimension (Larg X Haut) = " +StrD(VectorOutputWidth(),0) + "*"+StrD(VectorOutputHeight(),0)
StopVectorDrawing()
EndIf
StopPrinting()
EndIf
EndProcedure
If OpenWindow(#f1, 0, 0, 300, 250, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Debug "Impression avec 'DefautPrinter' "
Debug "Pensez a changer votre imprimante par défaut avant"
Debug "chaque impression et de tester toutes vos imprimantes"
OptionGadget(#Option1, 30, 30, 100, 25, "Impression directe")
OptionGadget(#Option2, 30, 60, 100, 25, "Impression choisie")
ButtonGadget(#Bouton, 50, 100, 200, 40, "Impression")
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Option2 : Debug "Impression avec la 'PrintRequester' "
Case #Bouton : TestImprimante()
EndSelect
Case #PB_Event_CloseWindow
f1Quitter = 1
EndSelect
Until f1Quitter = 1
EndIf
Fred une réponse, ou un commentaire serait apprécié !
