WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteur en ligne

Où ça, qui ça?
Impression avec Gambas - imprimer depuis une textedit
                       

Imprimer à partir d'une TextEdit




Il existe une solution simple pour imprimer une TextEdit. Le texte étant du code HTML, il suffit de copier le fichier dans un contrôle WebBrowser et de mettre une commande d'impression Javascript.


Dans votre projet, ajouter:


Une TextArea

Un WebBrowser (vous devez avoir le composant gb.qt.kde.html coché dans votre projet).


Ces deux objets ont la propriété Visible à FALSE et la propriété Javascript du WebBrowser à TRUE.


Créer votre bouton d'impression et ajouter ceci:


TextArea1.Clear

fichierimprimer = Application.Path & "/temp.print"

IF Exist(fichierimprimer) THEN KILL fichierimprimer

TextArea1.Text = TextEdit1.Text

     changercode(TextArea1.Text)

     TextArea1.Text = Textcode

     TextArea1.Text = Replace(TextArea1.Text, "


hFile = OPEN fichierimprimer FOR WRITE CREATE

PRINT #hFile, TextArea1.Text

CLOSE #hFile

     webPrint.Path = Trim(fichierimprimer)


Explications:


Nous effaçons le contenu de la TextArea:


TextArea1.Clear


Nous nommons un fichier qui sera imprimé grâce au contrôle WebBrowser:


fichierimprimer = Application.Path & "/temp.print"


S'il existe, nous l'effaçons:


IF Exist(fichierimprimer) THEN KILL fichierimprimer


Nous copions le contenu de la TextEdit dans la TextArea:


TextArea1.Text = TextEdit1.Text


Nous transformons tous les caractères particuliers ou avec accent (Restons Français) en équivalents html:


changercode(TextArea1.Text)

     TextArea1.Text = Textcode


Nous écrivons le code d'impression Javascript: body onload='window.print()'


TextArea1.Text = Replace(TextArea1.Text, "


Nous créons le fichier à imprimer:


hFile = OPEN fichierimprimer FOR WRITE CREATE

PRINT #hFile, TextArea1.Text

CLOSE #hFile


Nous importons le fichier dans le WebBrowser qui déclenche automatiquement l'impression:


webPrint.Path = Trim(fichierimprimer)



Il ne faut pas oublier de mettre nos variables au début de notre commande ou au début de notre Form:


fichierimprimer AS String

hfile AS File


Et enfin inclure dans notre Form.Class, la fonction changercode():


PRIVATE SUB changercode(mettre AS String)

'Les A

'-------

mettre = Replace(mettre, "À", "À")

mettre = Replace(mettre, "Á", "Á")

mettre = Replace(mettre, "Â", "Â")

mettre = Replace(mettre, "Ã", "Ã")

mettre = Replace(mettre, "Ä", "Ä")

mettre = Replace(mettre, "Å", "Å")

mettre = Replace(mettre, "Æ", "Æ")

mettre = Replace(mettre, "à", "à")

mettre = Replace(mettre, "á", "á")

mettre = Replace(mettre, "â", "â")

mettre = Replace(mettre, "ã", "ã")

mettre = Replace(mettre, "æ", "æ")

'Les C

'-------

mettre = Replace(mettre, "¢", "¢")

mettre = Replace(mettre, "Ç", "Ç")

mettre = Replace(mettre, "ç", "ç")


'Les E

'-------

mettre = Replace(mettre, "È", "È")

mettre = Replace(mettre, "É", "É")

mettre = Replace(mettre, "Ê", "Ê")

mettre = Replace(mettre, "Ë", "Ë")

mettre = Replace(mettre, "è", "è")

mettre = Replace(mettre, "é", "é")

mettre = Replace(mettre, "ê", "ê")

mettre = Replace(mettre, "ë", "ë")


'Les I

'------

mettre = Replace(mettre, "Ì", "Ì")

mettre = Replace(mettre, "Í", "Í")

mettre = Replace(mettre, "Î", "Î")

mettre = Replace(mettre, "Ï", "Ï")

mettre = Replace(mettre, "ì", "ì")

mettre = Replace(mettre, "í", "í")

mettre = Replace(mettre, "î", "î")

mettre = Replace(mettre, "ï", "ï")


'Les O

'------

mettre = Replace(mettre, "Ò", "Ò")

mettre = Replace(mettre, "Ó", "Ó")

mettre = Replace(mettre, "Ô", "Ô")

mettre = Replace(mettre, "Õ", "Õ")

mettre = Replace(mettre, "Ö", "Ö")

mettre = Replace(mettre, "Ø", "Ø")

mettre = Replace(mettre, "ò", "ò")

mettre = Replace(mettre, "ó", "ó")

mettre = Replace(mettre, "ô", "ô")

mettre = Replace(mettre, "õ", "õ")

mettre = Replace(mettre, "ö", "ö")

mettre = Replace(mettre, "ø", "ø")


'Les U

'-------

mettre = Replace(mettre, "Ù", "Ù")

mettre = Replace(mettre, "Ú", "Ú")

mettre = Replace(mettre, "Û", "Û")

mettre = Replace(mettre, "Ü", "Ü")

mettre = Replace(mettre, "ù", "ù")

mettre = Replace(mettre, "ú", "ú")

mettre = Replace(mettre, "û", "û")

mettre = Replace(mettre, "ü", "ü")

'Les fractions

'----------------

mettre = Replace(mettre, "¼", "¼")

mettre = Replace(mettre, "½", "½")

mettre = Replace(mettre, "¾", "¾")

'TM, COPYRIGHT, REG

'--------------------------

mettre = Replace(mettre, "™", "™")

mettre = Replace(mettre, "©", "©")

mettre = Replace(mettre, "®", "®")

'Divers

'--------

mettre = Replace(mettre, "ƒ", "&nfnof;")

mettre = Replace(mettre, "… ", "…")

mettre = Replace(mettre, "† ", "†")

mettre = Replace(mettre, "‡", "‡")

mettre = Replace(mettre, "ˆ", "ˆ")

mettre = Replace(mettre, "‰", "‰")

mettre = Replace(mettre, "Š", "Š")

mettre = Replace(mettre, "š", "š")

mettre = Replace(mettre, "Œ", "Œ")

mettre = Replace(mettre, "œ", "œ")

mettre = Replace(mettre, "•", "•")

mettre = Replace(mettre, "–", "–")

mettre = Replace(mettre, "˜", "˜")

mettre = Replace(mettre, "¡", "¡")

mettre = Replace(mettre, "£", "£")

mettre = Replace(mettre, "¤", "¤")

mettre = Replace(mettre, "¥", "¥")

mettre = Replace(mettre, "¦", "¦")

mettre = Replace(mettre, "§", "§")

mettre = Replace(mettre, "¨", "¨")

mettre = Replace(mettre, "ª", "ª")

mettre = Replace(mettre, "¬", "¬")

mettre = Replace(mettre, "¯", "¯")

mettre = Replace(mettre, "°", "°")

mettre = Replace(mettre, "±", "±")

mettre = Replace(mettre, "¹", "¹")

mettre = Replace(mettre, "²", "²")

mettre = Replace(mettre, "³", "³")

mettre = Replace(mettre, "´", "´")

mettre = Replace(mettre, "µ", "µ")

mettre = Replace(mettre, "·", "·")

mettre = Replace(mettre, "¸", "¸")

mettre = Replace(mettre, "º", "º")

mettre = Replace(mettre, "»", "»")

mettre = Replace(mettre, "¿", "¿")

Textcode = mettre


END




























Si vous avez bien tout copié, vous devez avoir un écran d'impression lorsque vous cliquez sur votre bouton Imprimer:

imprimtextedit1.png


imprimtextedit2.png



Pour imprimer en couleur et imprimer les images, configurez ici:


Vous avez également la possibilité de créer directement un fichier PDF.


Fait le 25/09/09 par taoteblues


Date de création : 11/10/2009 @ 15:03
Dernière modification : 11/10/2009 @ 15:14
Catégorie : Impression avec Gambas
Page lue 3381 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°1 

par Gambix le 13/10/2009 @ 16:22

Heu ????

Public Sub Button_Click()


Draw.Begin(Printer)
Draw.Text(TextArea.Text, 50, 50, Printer.With, Printer.Height)
Draw.End


End

Ensuite j'expliquerais a quoi sert gb.report :)

ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^