OVH Cloud OVH Cloud

Print Document

2 réponses
Avatar
TopBidouille
Bonjour,

Je viens de creer un document PrintDocument.
Il est tout joli tout beau...
Je sais choisir l'imprimante, mettre les marges, et choisir le "FreeForm" de
l'imprimante qui m'interesse (le freeForm etant stocké dans l'imprimante et
imprimé par elle) grace au PageSetupDialog.

Mon problème est que je ne sais pas sauvegarder toute (et donc récupérer
pour la prochaine fois) la mise en page de mon document.
Je sais faire pour les marges, le type de papier... mais pas le
"FreeForm"...
Quelqu'un a t-il une idée de comment faire pour enregistrer toute la
structure du pagesettings qui m'est revoyé (et notemment les "trucs" qui ne
se voient pas comme le freeform utilisé).

J'espère avoir été assez clair...
Merci a toute contribution
Christophe.
Ps : VS2005 en VbNet

2 réponses

Avatar
FGansoinat
Tu peux essayer de passer par le fichier de configuration de l'application en
ajoutant une clef de Scope User et de type
System.Drawing.Printing.PageSettings
OU d'autre type (drawing.printersettings ou color ou papersize etc...)

Pour ajouter cette clef, voici la sécance
1 - dans ton explorateur de solution, clic droit sur ton projet ->propriétés
2 - onglet Settings
3 - Entrer un nom dans le datagrid (SettingPrinter pour notre exemple)
4 - Vérifier que scope = user
5 - Type : descendre au bas de liste puis Browse puis
System.Drawing.Printing.PageSettings
6 - Enregistrer tout

Voila, c'est prêt pour l'utilsation :
Pour écrire les valeurs :
My.Settings.SettingPrinter = value
My.Settings.Save()

Pour les récupérer :
My.Settings.SettingPrinter

'Exemple de code :
'Au lancement de la forme, lance un printerDialog
'Défini les valeurs d'un default page settings
'Les écrit en configFile

'Sur clic d'un bouton, récupère les valeur et les écrit dans un msgBox.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Paramétrage d'un page setting
Dim value As System.Drawing.Printing.PageSettings
Me.PrintDialog1.ShowDialog()
value = Me.PrintDialog1.PrinterSettings.DefaultPageSettings

'Ecriture dans le fichier de configuration de l'application
My.Settings.SettingPrinter = value
My.Settings.Save()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

'Récupération des valeurs du pagesetting (ici juste en msgbox pour
vérif mais applicable directement à objet.DefaultPageSettings
MsgBox(My.Settings.SettingPrinter.ToString)

End Sub
--
François Gansoinat
Directeur Technique
CAD Solutions
Développeur accrédité Autodesk


"TopBidouille" a écrit :


Bonjour,

Je viens de creer un document PrintDocument.
Il est tout joli tout beau...
Je sais choisir l'imprimante, mettre les marges, et choisir le "FreeForm" de
l'imprimante qui m'interesse (le freeForm etant stocké dans l'imprimante et
imprimé par elle) grace au PageSetupDialog.

Mon problème est que je ne sais pas sauvegarder toute (et donc récupérer
pour la prochaine fois) la mise en page de mon document.
Je sais faire pour les marges, le type de papier... mais pas le
"FreeForm"...
Quelqu'un a t-il une idée de comment faire pour enregistrer toute la
structure du pagesettings qui m'est revoyé (et notemment les "trucs" qui ne
se voient pas comme le freeform utilisé).

J'espère avoir été assez clair...
Merci a toute contribution
Christophe.
Ps : VS2005 en VbNet









Avatar
TopBidouille
Merci...
je n'avais pas vu le Browse dans le type.... No Comment...
je vais donc essayer en esperant recuperer le freeFom.
Christophe




"FGansoinat" a écrit dans le message
de news:
Tu peux essayer de passer par le fichier de configuration de l'application
en
ajoutant une clef de Scope User et de type
System.Drawing.Printing.PageSettings
OU d'autre type (drawing.printersettings ou color ou papersize etc...)

Pour ajouter cette clef, voici la sécance
1 - dans ton explorateur de solution, clic droit sur ton
projet ->propriétés
2 - onglet Settings
3 - Entrer un nom dans le datagrid (SettingPrinter pour notre exemple)
4 - Vérifier que scope = user
5 - Type : descendre au bas de liste puis Browse puis
System.Drawing.Printing.PageSettings
6 - Enregistrer tout

Voila, c'est prêt pour l'utilsation :
Pour écrire les valeurs :
My.Settings.SettingPrinter = value
My.Settings.Save()

Pour les récupérer :
My.Settings.SettingPrinter

'Exemple de code :
'Au lancement de la forme, lance un printerDialog
'Défini les valeurs d'un default page settings
'Les écrit en configFile

'Sur clic d'un bouton, récupère les valeur et les écrit dans un msgBox.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Paramétrage d'un page setting
Dim value As System.Drawing.Printing.PageSettings
Me.PrintDialog1.ShowDialog()
value = Me.PrintDialog1.PrinterSettings.DefaultPageSettings

'Ecriture dans le fichier de configuration de l'application
My.Settings.SettingPrinter = value
My.Settings.Save()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

'Récupération des valeurs du pagesetting (ici juste en msgbox pour
vérif mais applicable directement à objet.DefaultPageSettings
MsgBox(My.Settings.SettingPrinter.ToString)

End Sub
--
François Gansoinat
Directeur Technique
CAD Solutions
Développeur accrédité Autodesk


"TopBidouille" a écrit :


Bonjour,

Je viens de creer un document PrintDocument.
Il est tout joli tout beau...
Je sais choisir l'imprimante, mettre les marges, et choisir le "FreeForm"
de
l'imprimante qui m'interesse (le freeForm etant stocké dans l'imprimante
et
imprimé par elle) grace au PageSetupDialog.

Mon problème est que je ne sais pas sauvegarder toute (et donc récupérer
pour la prochaine fois) la mise en page de mon document.
Je sais faire pour les marges, le type de papier... mais pas le
"FreeForm"...
Quelqu'un a t-il une idée de comment faire pour enregistrer toute la
structure du pagesettings qui m'est revoyé (et notemment les "trucs" qui
ne
se voient pas comme le freeform utilisé).

J'espère avoir été assez clair...
Merci a toute contribution
Christophe.
Ps : VS2005 en VbNet