Page 1 sur 1

Printer encore !

Publié : mer. 25/mai/2005 20:44
par fd
Bonsoir,

Je suis désolé, je reviens avec mes problèmes d'impression, car je n'ai malheureusement pas eu de réponse, peut-être n'étais-je pas assez précis.
Je recherche le moyen de piloter l'imprimante pour envoyer un texte issu d'un editorgadget avec comme contrainte qu'il passe l'imprimante en mode paysage, ajusté sur la longueur de mon texte en largeur et que je puisse insérer un saut de page (ou des lignes dans l'éditeur) après la longueur d'une page pour pas que les tableaux soient coupés lors de l'impression.
Les modèles que j'ai pu trouvé sur les forums ne sont pas basés sur des textes mais sur des images ... et je ne vois pas bien les correspondance. Les fonctions d'impression d'editorgadget ne permettent pas d'intervention sur le déroulement de l'impression (saut de page si ligne ... ou mode paysage ...).
Avez-vous une idée ou au moins une piste ?

Merci de votre aide

Publié : mer. 25/mai/2005 21:08
par Jacobus
Ben c'est simple, si t'as pas de réponse
- 1/ personne ne sait
- 2/ quelqu'un sait mais préfère te laisser chercher
- 3/ On comprend rien à ce que tu demandes

Le code suivant permet d'imprimer du texte sur plusieurs pages.
Par contre c'est en format portrait. Je serais de toi, dans l'immédiat, je règlerai mon imprimante sur aperçu avant impression pour que celui-ci s'affiche automatiquement à chaque demande depuis n'importe quelle application, en général tu peux modifier le format. Après prends le temps de chercher à faire le mode paysage en PB, et quand tu l'auras trouvé tu nous le passe :lol:

Code : Tout sélectionner

Procedure imprimer()
  If PrintRequester()  
    If StartPrinting("fd Texte") 
      If StartDrawing(PrinterOutput())
        PRow =300 : PLine=0  : HLine=60 ;choisis tes dimensions 
        DrawingFont(LoadFont(2, "Times New Roman", 40) );choisis ta police
               For n=1 To CountGadgetItems(#editor) 
          PLine + HLine 
          If PLine>=PrinterPageHeight()-HLine 
            PLine=HLine  
            NewPrinterPage()          
          EndIf
          Locate(PRow, PLine) : DrawText(GetGadgetItemText(#editor,n-1,0))
        Next 
        StopDrawing() 
      EndIf 
      StopPrinting() 
    EndIf 
  EndIf      
EndProcedure
J'espère que ça t'aidera
@+