[5.40] Vecteurs et impression avec PrinterVectorOutput()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Pour cette nouvelle démo vous devez avoir une imprimante PDF afin de limiter le gaspillage de papier et d'encre.

Si vous avez Windows 10 vous avez déja une imprimante PDF. Si vous avez une version antérieure de Windows, alors installer une imprimante PDF si ce n'est pas encore fait.

Le code vous permet de choisir une imprimante puis imprime 150 ligne sur 3 pages.
Pour chaque page, il y a aura l'impression d'un entête et d'un pied de page contenant un compteur de page.

Code : Tout sélectionner

; PB 5.40 - DEMO PrinterVectorOutput()

Declare PrintHeader()
Declare PrintFooter()

Global CountLines, CountPage, Top = 20, y

LoadFont(0, "Courier New", 10)

;Choix de l'imprimante
If PrintRequester()
  
  ;Initialise l'imprimante et démarre l'impression 
  ;On donne un nom qui apparaîtra dans la file d'attente d'impression
  If StartPrinting("PureBasic Test")
    
    ;Initialisation dessin vectoriel sur la sortie imprimante
    If StartVectorDrawing(PrinterVectorOutput())      
      ;Impression des lignes détail
      For Line = 1 To 150
        If CountLines = 48 Or Line = 1
          CountLines = 0
          If Line <> 1
            NewVectorPage()
          EndIf 
          PrintHeader()
          PrintFooter()
        EndIf
        
        CountLines + 1
        
        y = Top + (CountLines * 15)
        
        MovePathCursor(50, y)   : DrawVectorText("Item col1 line " + Str(Line))
        MovePathCursor(450, y)  : DrawVectorText("Item col2 line " + RSet(Str(Line), 3, " "))
        
      Next      
            
      StopVectorDrawing()
    EndIf
    
    StopPrinting()
  EndIf
EndIf 

Procedure PrintHeader()
  VectorFont(FontID(0), 15)
  VectorSourceColor(RGBA(0, 0, 0, 200)) 
  MovePathCursor(10, 10)
  DrawVectorText("DEMO PrinterVectorOutput()")
  
  ;Affichage du slogan PureBasic
  VectorFont(FontID(0), 20)
  VectorSourceColor(RGBA(255, 0, 0, 128))
  RotateCoordinates(30, 50, 90) 
  MovePathCursor(30, 50)
  DrawVectorText("Make with Pure Basic : What else !")   
  
  ;Retour à la normal pour les ligne détails
  RotateCoordinates(30, 50, -90)   
  VectorFont(FontID(0), 10)
  VectorSourceColor(RGBA(0, 0, 0, 255))
EndProcedure

Procedure PrintFooter()
  VectorFont(FontID(0), 10)
  VectorSourceColor(RGBA(0, 0, 0, 255))
  MovePathCursor(10, VectorOutputHeight() - 50)
  DrawVectorText("Imprimé avec PureBasic 5.40 LTS Beta1")
  
  CountPage + 1 
  MovePathCursor(VectorOutputWidth() - 60, VectorOutputHeight() - 50)
  DrawVectorText("Page " + Str(CountPage)) 
EndProcedure
J'ai pu faire des tests dans un fichier PDF mais aussi sur deux imprimantes Hp jet d'encre. J'aimerais quelques retour de tests sur d'autres imprimantes.

Merci d'avance.
Dernière modification par falsam le jeu. 29/oct./2015 18:15, modifié 3 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Si vous êtes sous linux ou osx et que vous souhaitez imprimer directement en pdf, vous pouvez utilisez PdfVectorOutput() à la place de PrinterVectorOutput()

J’espère que cette option fonctionnera aussi sous Windows.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par Ollivier »

Euh... En relisant cette coïncidence thématique, je crois qu'en tout cas, chez Fred, ils y sont allés droit au but!

Quelqu'un peut poster un screenshoot? Je ne serai pas exigent sur les dimensions...
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par Mesa »

J'ai pu utiliser 2 imprimantes laser du travail : pour la canon mf8540 couleur = tout est ok mais la canon laser N&B mf4010 n'imprime que la première page puis les feuilles manquantes s'impriment plusieurs minutes après la première ! ! ! Très étrange. Pourtant, il n'y a aucune indication comme quoi l'impression est en attente ou quoi que ce soit, ni sur windows ni sur l'imprimante.

Les 2 imprimantes sont en usb sur le même pc.
Windows XP 32b

M.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Bonjour Mesa. Je viens de m'apercevoir d'une erreur dans mon code. Te serait il possible de remplacer la ligne

Code : Tout sélectionner

NewPrinterPage()
par

Code : Tout sélectionner

NewVectorPage()
et de refaire tes test d'impression sur imprimantes laser.

J'aimerais aussi d'autres retours. Merci d'avance.

Le code du premier message est modifié.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Ollivier a écrit :Quelqu'un peut poster un screenshoot? Je ne serai pas exigent sur les dimensions...
Pas de screenshoot mais un fichier PDF montrant le résultat.
:arrow: http://s242132022.onlinehome.fr/Downloa ... Output.pdf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par Mesa »

C'est bon ça marche.

M.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Merci Mesa. C'est une bonne nouvelle.

Pour les autres, pouvez vous comparer ce que vous imprimez avec le pdf que j'ai posté (et que je vais remettre ici) et me dire si c'est conforme en citant le constructeur de l'imprimante.

:arrow: http://s242132022.onlinehome.fr/Downloa ... Output.pdf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par Micoute »

Bonjour falsam, voici le résultat : impeccable avec une PANTUM P 2000

C'est une imprimante laser monochrome, noir.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

Merci beaucoup pour ton test Micoute.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par nico »

Test Canon MG5250:
Il semble que je n'ai pas la transparence de "Demo Print..." et de "Make With..."
Après modification des paramètres, tout mis à alpha 255 et réimpression, il y a bien une différence et donc j'ai bien un traitement de l'alpha mais celui ci semble moins marqué (moins fondu) que le résultat que tu as mis en ligne.

Test PDF CREATOR:
Le pdf créé est bon, cela dit "Demo Print..." semble plus gris sur le fichier PDF que ma sortie papier précédente.

Mise en page conforme.

[Edit] Super la démo. :D
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Vecteurs et impression avec PrinterVectorOutput()

Message par falsam »

J'ai aussi cette légère différence qui peut provenir de la qualité des encres ou de la poudre des toners. En tout cas merci pour ton test.

Donc apparemment ça fonctionne avec les imprimantes jet d'encre Canon et HP ainsi que sur des lasers. Je sens que cette nouvelle librairie va me plaire.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre