[Intégré 5.8.56.5352] Imprimer - Impression des tableaux

Une idée d'amélioration, d'évolution pour GesFine ...

Modérateur : Patrice15220

Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

[Intégré 5.8.56.5352] Imprimer - Impression des tableaux

Message par Jacques Leblond »

Bonsoir,

Voilà c'est fait, il est dorénavant possible d'imprimer les tableaux de GesFine ! Je pense que cela va faire plaisir à tous les ceux qui "bidouillait" des captures d'écran pour pouvoir imprimer.

La fonctionnalité repose sur une fonction générique qui n'a pas été simple de mettre au point pour couvrir la diversité des tableaux.
Vous n'aurez donc pas des états figés pour chaque module mais la possibilité de définir via des "profils d'impression" ce que vous souhaitez imprimer des tableaux. A noter que seules les colonnes visibles peuvent être imprimées.

Par ailleurs j'ai du faire quelques compromis.
Par exemple vous n'aurez pas le nombre total de page sur toutes les pages mais uniquement la dernière. Pour l'avoir sur toutes les pages il faudrait relancer le processus 2 fois, et vous verrez que les temps de traitement peuvent déjà être longs pour l'impression de plusieurs centaines de lignes.

La dernière version intermédiaire intégrant ces fonctionnalités est donc disponible. A ce titre je suis preneur de tous vos tests sur cette version, tant sur le rendu avant impression que sur le résultat imprimé.
Penser à utiliser l'aperçu avant impression pour configurer vos profils, il est inutile d'imprimer pour le faire.

Merci par avance à ceux qui me feront un retour.
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Bonsoir Jacques,

Super sympa les modules d'impression, résultats très convenables.

Par contre, j'ai constaté une anomalie et je me pose deux questions :

L' anomalie est une erreur en voulant imprimer vers l'imprimante "Adobe PDF", voir message retourné :
Anomalie d'impression d'état vers imprimante Adobe PDF v5.8.55.5336.jpg
Mes questions, en aperçu avant impression il serait bien d'avoir la possibilité d'aller à la dernière page et de revenir à la première ou de se déplacer de page en pages en cliquant sur des flèches type "<<, <, >, >>", et si le résultat nous satisfait de pouvoir imprimer (ce qui est déjà le cas) mais vers l'imprimante de son choix alors qu'actuellement en aperçu avant impression on ne peut imprimer que vers l'imprimante définie par défaut dans Windows.

Encore un super travail de ta part.
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Pour le déplacement dans l'aperçu avant impression tu peux le faire avec le champ numérique tout à droite de la barre d'outil.
C'est un formulaire préconçu sur lequel je n'interviens pas. Tu déroules les pages avec les petites flèches montante et descendante.
Ce champ est prévu pour cela.

Pour la demande du choix de l'imprimante sur clic du bouton "Imprimer" j'y travaillais justement, j'ai une piste mais comme ce n'est pas le comportement standard du formulaire, j'espère quand même y arriver.

Sinon j'ai vu qu'il manque les caractères gras dans le module Solde des comptes, c'est corrigé.
J'ai fait aussi quelques modifications cosmétiques, l'icône GesFine sur le le formulaire Aperçu avant impression et le nom du document dans la file d'attente de l'imprimante.

J'aimerai aussi passer tout ces traitements sur des processus spécifiques, pour que cela ne fige pas l'interface de GesFine.

Pour l'erreur, je ne vois pas trop, j'essayerai de la reproduire, l'imprimante "Adobe PDF" existe en installant quel soft d'Adobe, le reader simplement ?

EDIT : pour info, dans le profil le type de contenu "Contenu ou Infobulle si existant" a été prévu pour le champ "catégorie" et "Libellé/Tiers/Adresse" du livre de comptes notamment.
En effet avec cette valeur les opérations réparties n'afficheront pas "{Opération répartie}" mais le détail de la répartition. De même les adresses (Nom, genre, adresse, tel, etc..) apparaîtrons en lieu et place du nom uniquement.

EDIT 2 : J'ai trouvé une solution pour ouvrir le formulaire de choix de l'imprimante en cliquant sur le bouton "Imprimer" de l'aperçu avant impression, mais cela ne fonctionne que si ce dernier est mode modal. Donc quand l'aperçu est ouvert, il n'est plus possible de revenir sur GesFine pour faire autre chose ou en lancer un autre par exemple.
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

J'ai publié une nouvelle version Intermédiaire qui ouvre la boite de dialogue permettant de sélectionner l'imprimante depuis l'aperçu avant impression et qui corrige quelques détails.

Je n'ai pas réussi à reproduire le bogue mais je n'ai pas l'imprimante Adobe PDF. J'utilise PDF Creator et ça marche bien avec ce logiciel.
Essaye d'imprimer en PDF depuis un autre module pour voir si cela dépend des données ou du soft PDF ?
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Bonjour Jacques,

Je vois que tu y as encore passé la nuit :?
Jacques Leblond a écrit :Pour le déplacement dans l'aperçu avant impression tu peux le faire avec le champ numérique tout à droite de la barre d'outil.
C'est un formulaire préconçu sur lequel je n'interviens pas. Tu déroules les pages avec les petites flèches montante et descendante.
Ce champ est prévu pour cela.
C'est exact mais le déplacement direct vers la dernière page permettrait de connaitre immédiatement le nombre de pages du document. Par contre, il est vrai qu'en utilisant les touches de raccourcis CTRL+HOME ou CTRL+END à l'ouverture de l'aperçu avant impression donne le même résultat.
Jacques Leblond a écrit :Pour l'erreur, je ne vois pas trop, j'essayerai de la reproduire, l'imprimante "Adobe PDF" existe en installant quel soft d'Adobe, le reader simplement ?
Non, l'imprimante "Adobe PDF" est installée avec le logiciel complet "Adobe Acrobat" qui n'est pas, il est vrai, utilisé par beaucoup de particuliers.
Jacques Leblond a écrit :Je n'ai pas réussi à reproduire le bogue mais je n'ai pas l'imprimante Adobe PDF. J'utilise PDF Creator et ça marche bien avec ce logiciel.
Essaye d'imprimer en PDF depuis un autre module pour voir si cela dépend des données ou du soft PDF ?
J'utilise également un autre soft pour l'impression en PDF qui est doPDF v7... qui lui ne pose pas de problèmes à l'impression directe.
Par contre, petite piste de recherche à te donner mais je ne sais pas si cela va beaucoup t'aider. Si l'imprimante "Adobe PDF" est sélectionnée dans la boite de dialogue du choix de l'imprimante l'anomalie se produit. Par contre, si l'imprimante "Adobe PDF" est l'imprimante par défaut de Windows alors là aucune anomalie :o
Mais bon ne te bloque pas trop là-dessus ce n'est pas bien grave ;)

Encore félicitations pour tout ton travail de développement.
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Je ne connaissais pas le CTRL DEBUT/FIN pour ce formulaire, c'est pratique.

J'ai fait quelques recherches sur le Web pour l'erreur et effectivement je suis tombé sur un ou 2 sujets avec le même problème concernant l'imprimante Adobe PDF. Un exemple ici. Mais pas de solution proposée.
Peut être un paramètre de la boite de dialogue du choix d'imprimante qu'il n'apprécie pas. Je vais te faire une version en laissant les valeurs par défaut et tu me diras si l'erreur est toujours présente.
noftal
Messages : 1016
Enregistré le : 13 juillet 2013, 19:36
Contact :

Re: [Imprimer] Impression des tableaux

Message par noftal »

Je n'ai pas encore pris le temps de tester. A vrai dire, je suis un peu comme Jacques, je n'éprouve pas le besoin d'imprimer, et d'ailleurs je n'ai pas d'imprimante :lol:
Pour info, moi, j'utilise PDF24 qui me crée une imprimante qui transforme en PDF.
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

OK Jacques, mais comme je te le disais plus haut, ce n'est pas bien grave. Alors ne t'affole pas là-dessus. ;)
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Bonjour Steph,
noftal a écrit :je n'éprouve pas le besoin d'imprimer, et d'ailleurs je n'ai pas d'imprimante
Pour moi l'impression est obligatoire car utilisation professionnelle (données comptables à fournir). C'est pour cela que j'utilise beaucoup l'impression en PDF (pas de papier à utiliser) d'où l'utilisation d'Adobe Acrobat pour pouvoir effectuer des modifications, des annotations et autres manipulations sur les fichiers (fusions, extractions, signets, etc...) ;)
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

J'ai publié une nouvelle version intermédiaire avec les paramètres par défaut pour la boite de dialogue. Tel que dans l'exemple cité sur mon précédent lien, chez qui cela fonctionne avec l'imprimante Adobe PDF.
Je n'y crois pas trop mais on ne sait jamais. Tu peux tester.

J'ai aussi apporté une petite amélioration sur le nb total de pages. Lorsqu'on passe par l'aperçu avant impression, le traitement est lancé 2 fois, je profite donc du premier traitement proposé dans l'aperçu pour récupérer le nombre total de pages que je peux ensuite afficher sur chaque page (et pas uniquement la dernière) lors de l'impression finale.
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Jacques Leblond a écrit :J'ai publié une nouvelle version intermédiaire avec les paramètres par défaut pour la boite de dialogue. Tel que dans l'exemple cité sur mon précédent lien, chez qui cela fonctionne avec l'imprimante Adobe PDF.
Je n'y crois pas trop mais on ne sait jamais. Tu peux tester.
Cela ne fonctionne pas, toujours la même anomalie.
Par contre, une petite idée me vient que j'utilise dans mes développements en vb.net. Lorsque je lance une impression je récupère l'imprimante par défaut de Windows que je place dans une variable temporaire. Je modifie ensuite l'imprimante par défaut de Windows dans le code par celle choisie dans la boite de dialogue, j’effectue mes impressions, et lorsque j'en sors je restitue à Windows l'imprimante par défaut d'origine. Je ne sais pas si cela pourrait résoudre cette anomalie mais peut-être vu que lorsque Adobe PDF est définie par défaut dans Windows je n'ai pas l'anomalie.
Jacques Leblond a écrit :J'ai aussi apporté une petite amélioration sur le nb total de pages. Lorsqu'on passe par l'aperçu avant impression, le traitement est lancé 2 fois, je profite donc du premier traitement proposé dans l'aperçu pour récupérer le nombre total de pages que je peux ensuite afficher sur chaque page lors de l'impression finale.
Cela n’apparaît pas à l'aperçu avant impression, mais apparaît bien une fois imprimé depuis l'aperçu.
Par contre, en impression directe (donc sans passer par l'aperçu) cela n’apparaît pas.
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Tu définis l'imprimante par défaut de Windows avec quel Objet/Class ?
Patrice83200 a écrit :Cela n’apparaît pas à l'aperçu avant impression, mais apparaît bien une fois imprimé depuis l'aperçu.
Par contre, en impression directe (donc sans passer par l'aperçu) cela n’apparaît pas.
Oui tout cela est normal, impression directe et construction de l'aperçu s'effectue en 1 passe donc le nb total de page n'est pas connu au moment de construire les premières pages dans ces scénarios.
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Jacques Leblond a écrit :Tu définis l'imprimante par défaut de Windows avec quel Objet/Class ?
Je ne sais pas si cela va t'aider, exemple de code ci-dessous :

Code : Tout sélectionner

Dim dlg As New PrintDialog
strOriginalPrinter = vbNullString
strPrinter = vbNullString

'Définir l'imprimante d'origine à l'entrée
strOriginalPrinter = dlg.PrinterSettings.PrinterName

'Définir l'imprimante sélectionnée comme active
strPrinter = dlg.PrinterSettings.PrinterName

'Redéfinir l'imprimante d'origine comme imprimante par défaut à la sortie
dlg.PrinterSettings.PrinterName = strOriginalPrinter
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Ici tu mémorises la dernière imprimante sélectionnée dans la boite de dialogue avant ton impression et tu la rétablis après l'impression, mais ce n'est pas nécessairement l'imprimante par défaut de Windows.
Actuellement si tu enchaînes plusieurs impressions tu n'as pas à resélectionner Adobe PDF car j'utilise le même objet PrintDialog. Le choix de l'imprimante reste configuré dans le PrintDialog.
L'imprimante "avant l'impression" n'est donc pas nécessairement l'imprimante par défaut de Windows.

En faisant quelques recherches, l'imprimante par défaut se modifie avec la fonction windows :

Code : Tout sélectionner

Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Boolean
Mais je ne trouve pas cela très propre de l'utiliser pour notre cas de figure.

Si tu utilises ton imprimante doPDF tu peux exploiter les PDF de la même façon que ceux générés avec Adobe PDF ?
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Jacques Leblond a écrit :Ici tu mémorises la dernière imprimante sélectionnée dans la boite de dialogue avant ton impression et tu la rétablis après l'impression, mais ce n'est pas nécessairement l'imprimante par défaut de Windows.
Au lancement de ton programme tu n'as pas encore affecté d'imprimantes, il s'agit donc de l’imprimante par défaut de Windows que je rétablie systématiquement après chaque impression. Je ne conserve pas le choix de l'imprimante entre deux impressions. C'est mon choix, et l'imprimante "Adobe PDF" fonctionne parfaitement dans mes développements sans que je puisse t'affirmer que ce soit la solution pour ton développement actuel.
Jacques Leblond a écrit :Si tu utilises ton imprimante doPDF tu peux exploiter les PDF de la même façon que ceux générés avec Adobe PDF ?
OUI, sans aucun problème. ;)
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Effectivement si tu ne souhaites pas mémoriser les paramètres entre 2 impressions tu peux fonctionner ainsi.
Cependant, sauf erreur ton code ne modifie pas l'imprimante par défaut de Windows, mais "joue" avec l'imprimante active par défaut dans l'objet PrintDialog.

Tu avais aussi rencontré l'erreur sur ton développement et c'est ce qui t'a amené à coder ainsi ?
Après sélection de l'imprimante PDF dans la boite de dialogue, PrintDialog la considère comme imprimante active, en quoi remettre l'imprimante par défaut après l'impression va corriger le problème puisqu'il survient juste après la sélection de l'imprimante et avant l'impression.
Dans GesFine, à la première impression qui sélectionne l'imprimante PDF, tu ne devrais pas avoir de bogue, or a priori c'est le cas, à confirmer.
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Par ailleurs je me demande si il ne serait pas intéressant que l'utilisateur puisse définir la largeur des colonnes.
Actuellement la largeur correspond à la largeur des colonnes dans le module et dans certains situations je la fixe moi même, cas de l'impression des notes qui sont toujours en infobulle par exemple.
Par défaut on aurait la largeur dans le module et si une largeur est définie elle sera considérée en lieu et place de celle du module.

Qu'en pensez-vous ? Est ce utile ?
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

Jacques Leblond a écrit :Tu avais aussi rencontré l'erreur sur ton développement et c'est ce qui t'a amené à coder ainsi ?
Ces développements avaient été faits il y a pas mal de temps à l'époque sous Visual Basic 6 et j'avoue ne plus trop me souvenir pourquoi, mais je pense que le code que j'utilisais modifiait l'imprimante par défaut de Windows.
Depuis j'ai adapté tous ces développements vers VB.NET avec toutes les modifications de codes que cela a induit.
Jacques Leblond a écrit :Cependant, sauf erreur ton code ne modifie pas l'imprimante par défaut de Windows, mais "joue" avec l'imprimante active par défaut dans l'objet PrintDialog.
Tu as entièrement raison, et pour vérifier je viens juste de refaire un test en supprimant la redéfinition de l'imprimante d'origine et à la 2ème impression, l'imprimante est celle précédemment choisie (par ex. "Adobe PDF") et cela n'a en rien modifié l'imprimante par défaut de Windows.
Jacques Leblond a écrit :Dans GesFine, à la première impression qui sélectionne l'imprimante PDF, tu ne devrais pas avoir de bogue, or a priori c'est le cas, à confirmer.
Je confirme, par contre si je choisi "Adobe PDF" comme imprimante par défaut dans Windows et que je refais le test dans GesFine cela fonctionne parfaitement. :roll:
Jacques Leblond a écrit :Par ailleurs je me demande si il ne serait pas intéressant que l'utilisateur puisse définir la largeur des colonnes.
Pas bête, c'est une bonne idée si l'on veut personnaliser encore plus ses impressions.

Petite question : Pourquoi l'entête et le bandeau "Date de l'opération, etc..." sont au format image et non pas au format texte comme les données listées ?
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Jacques Leblond
Administrateur
Messages : 6931
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Imprimer] Impression des tableaux

Message par Jacques Leblond »

Patrice83200 a écrit :Pourquoi l'entête et le bandeau "Date de l'opération, etc..." sont au format image et non pas au format texte comme les données listées ?
Tout est au format image, sauf si comprend mal ta question, en faite j'ai découvert avec ce développement que pour imprimer il fallait dessiner, donc tout l'état est géré avec un objet Graphics et je dessine dedans soit du texte soit des formes géométriques soit des images pour les icônes.

Pour le reste, je vais regarder ce que je fais pour la largeur des colonnes et l'anomalie.

EDIT : Le nom précis (majuscule/minuscule) de l'imprimante PDF c'est "Adobe PDF" ?
Patrice15220
Messages : 1714
Enregistré le : 18 août 2013, 15:29
Localisation : St Mamet La Salvetat (Cantal 15)

Re: [Imprimer] Impression des tableaux

Message par Patrice15220 »

OK, mais si tu imprimes au format PDF, lorsque tu ouvres ton fichier, je pense que c'est pareil avec Acrobat Reader (sur mon PC je n'ai qu'Acrobat, donc à vérifier) tu verras que tu peux faire la sélection des données par ex. pour faire du copier/coller mais que tu peux en aucun cas sélectionner par ex. le titre du document ou sa date d'impression ou les entêtes de colonnes.

Ma question était purement par curiosité.
Jacques Leblond a écrit :EDIT : Le nom précis (majuscule/minuscule) de l'imprimante PDF c'est "Adobe PDF" ?
A l'installation d'Acrobat, le nom de l'imprimante virtuelle est bien "Adobe PDF", sachant que celui-ci peut tout de même être modifié par l'utilisateur dans le panneau de configuration de Windows.
  • Pensez à nommer votre sujet ainsi [Préfixe] Titre du message où [Préfixe] représente un module ou un menu de l'application
  • Quand votre question est "Résolue" merci de l'indiquer en éditant votre premier message et en choisissant la coche verte Image comme "icône de sujet"
Répondre