Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD 5.5b] Problème imprimante (taille papier)

2 réponses
Avatar
Patrick_Coque
Salut tout le monde,

Dans mon programme, actuellement toujours sous WD 5.5b (si! si! j'ai acquis
la 7 bêta, préversion, versions définitives, les 7.5, et, bien sûr, la 8,
mais chat échaudé etc... je vais seulement m'occuper de la migration... mais
je crois que la version de WinDev n'est ici pas en cause...) j'ai des cas
bizarres lors d'impressions.
J'explique:
Certaines impressions sont toujours réalisées par des commandes iImprime
avec positionnement millimétré des données.
Le papier doit être du 12" (soit 30.5 cm de long) car fourni par le
ministère, donc pas le choix pour l'utilisateur, et être réalisé sur une
matricielle (le papier fourni est en double exemplaire carbonné
auto-copiant).
Dans le programme, il est donc possible à l'utilisateur de définir une
imprimante 'par défaut' pour le programme (souvent, une jet d'encre) et de
signaler le recours à la matricielle pour imprimer ses attestations de soins
(programme de gestion pour kiné).
Si tel est le cas, le programme ayant les noms de ces 2 imprimantes dans un
fichier INI de configuration personnelle réalise, avant l'impression des
attestations, un iConfigure(nomDeLaMatricielle) et envoie même une requête
de passage en 12" ( iParamètre("FORMATPAPIER=CONTINUALLEMANDSTD) ) des fois
que l'utilisateur aurait négligé de paramétrer correctement la taille de
papier sous Windows.

Tout cela fonctionne très bien, les attestations (en continu) déroulent
parfaitement leur 12" et commencent chaque nouvelle impression au même
endroit sur la suivante.
Ok donc.

Or voilà que des utilisateurs changent d'imprimante JET D'ENCRE, donc,
installent les nouveaux drivers pour leur imprimante, on pourrait penser que
la matricielle ne doit pas s'en trouver concernée...
Mais chez certains, à partir de cet instant, leurs impressions
d'attestations se trouvent décalées de +/- 8 mm (soit, vous l'aurez
remarqué, 1/3 de pouce...) comme si la taille de papier de la matricielle
restait en A4 (un A4 est effectivement du 11" 2/3 de long). D'où ma
perplexité!

J'ai demandé à certains de placer momentanément leur matricielle comme
imprimante définie par défaut sous Windows et là, l'impression se déroule de
nouveau correctement.
Ce qui m'amène à me poser la question suivante : est-ce que, par hasard,
Microsoft aurait édité de nouvelles librairies 'communes' à ses routines
d'impression, et qu'ainsi, lors de l'installation du nouveau pilote de la
jet d'encre, il y ait désormais un 'bug' (je sais que cela n'arrive jamais
sous Windows... mais, imaginons...) qui ferait que notre brave Windows
serait devenu incapable de quitter sa taille de papier par défaut, même lors
d'un changement de destination de périphérique, ce dernier ayant des
dimensions de papier définies différentes de celles du périphérique par
défaut.

Connaissez-vous des cas similaires ?
Est-ce une erreur de ma part de l'interpréter ainsi ?
La solution existe-t-elle dans des commandes de WinDev ?

Toute idée sera la bienvenue.

Merci à toutes & à tous, et bon congé.

Patrick ;-(

2 réponses

Avatar
farplus
Bonjour,

en Wd5.5 dans des cas pareils au tien je n'ai jamais eu de pb,
cela dit tu peux essayer plusieurs voies:

Patrick_Coque a présenté l'énoncé suivant :
Salut tout le monde,

Dans mon programme, actuellement toujours sous WD 5.5b (si! si! j'ai acquis
la 7 bêta, préversion, versions définitives, les 7.5, et, bien sûr, la 8,
mais chat échaudé etc... je vais seulement m'occuper de la migration... mais
je crois que la version de WinDev n'est ici pas en cause...) j'ai des cas
bizarres lors d'impressions.
J'explique:
Certaines impressions sont toujours réalisées par des commandes iImprime
avec positionnement millimétré des données.
Le papier doit être du 12" (soit 30.5 cm de long) car fourni par le
ministère, donc pas le choix pour l'utilisateur, et être réalisé sur une
matricielle (le papier fourni est en double exemplaire carbonné
auto-copiant).
Dans le programme, il est donc possible à l'utilisateur de définir une
imprimante 'par défaut' pour le programme (souvent, une jet d'encre) et de
signaler le recours à la matricielle pour imprimer ses attestations de soins
(programme de gestion pour kiné).
Si tel est le cas, le programme ayant les noms de ces 2 imprimantes dans un
fichier INI de configuration personnelle réalise, avant l'impression des
attestations, un iConfigure(nomDeLaMatricielle) et envoie même une requête
de passage en 12" ( iParamètre("FORMATPAPIER=CONTINUALLEMANDSTD) ) des fois
que l'utilisateur aurait négligé de paramétrer correctement la taille de
papier sous Windows.

Tout cela fonctionne très bien, les attestations (en continu) déroulent
parfaitement leur 12" et commencent chaque nouvelle impression au même
endroit sur la suivante.
Ok donc.

Or voilà que des utilisateurs changent d'imprimante JET D'ENCRE, donc,
installent les nouveaux drivers pour leur imprimante, on pourrait penser que
la matricielle ne doit pas s'en trouver concernée...
Mais chez certains, à partir de cet instant, leurs impressions
d'attestations se trouvent décalées de +/- 8 mm (soit, vous l'aurez
remarqué, 1/3 de pouce...) comme si la taille de papier de la matricielle
restait en A4 (un A4 est effectivement du 11" 2/3 de long). D'où ma
perplexité!

J'ai demandé à certains de placer momentanément leur matricielle comme
imprimante définie par défaut sous Windows et là, l'impression se déroule de
nouveau correctement.
Ce qui m'amène à me poser la question suivante : est-ce que, par hasard,
Microsoft aurait édité de nouvelles librairies 'communes' à ses routines
d'impression, et qu'ainsi, lors de l'installation du nouveau pilote de la
jet d'encre, il y ait désormais un 'bug' (je sais que cela n'arrive jamais
sous Windows... mais, imaginons...) qui ferait que notre brave Windows
serait devenu incapable de quitter sa taille de papier par défaut, même lors
d'un changement de destination de périphérique, ce dernier ayant des
dimensions de papier définies différentes de celles du périphérique par
défaut.

Connaissez-vous des cas similaires ?
Est-ce une erreur de ma part de l'interpréter ainsi ?
La solution existe-t-elle dans des commandes de WinDev ?

Toute idée sera la bienvenue.

Merci à toutes & à tous, et bon congé.

Patrick ;-(



Iconfigure(matricielle,faux) // met la matricielle par défaut
Multitache(-1) // si tu es en 32 laisse le temps de changer
Iparametre(taille_papier)
Multitache(-1)
......
IfinImprime()
Iconfigure(jetencre,faux) // remets la première par défault.

ce que tu peux aussi faire, c'est un bout de prog de test qui te
renvoie les marges d'impression (il y a des ex. dans Windev). Pour ce
genre de test le mieux serait d'avoir les 2 printer à ton bureau, le
soir ou le we pour faire des essais, mais ce n'est pas nécessaire: il
suffit juste d'installer les drivers et faire semblant avec impression
à l'écran.
Pour être sûr de la longueur fais une boucle
pour y=1 à 2
pour i=1 à nombre_ligne_page_12_pouces
Iimprime(i)
fin
isautdepage()
fin
tu peux aussi vérifier avec ce bout de code:
Iconfigure(matricielle)
iparametre() // regarde le papier par défaut
iparametre(ta_longueur)
multitache(-1)
iparametre() // contrôle si le param à pris.

A+

PS: en t'écrivant je me suis souvenu qqe chose de très vague, sans
garantie:
essaie de doubler ta commande:
iparametre(ta_longueur)
iparametre(ta_longueur)

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Patrick_Coque
farplus wrote:
Bonjour,

en Wd5.5 dans des cas pareils au tien je n'ai jamais eu de pb,
cela dit tu peux essayer plusieurs voies:




Salut Farplus,

Merci de ces idées et de ces voies de recherche.
Je vais essayer de jouer avec tout ça et je te tiendrai au courant de ce que
cela donne.

Bon week-end ensoleillé à toi, comme ici à Liège j'espère!

Amitiés,
Patrick ;-)