| Imprimer un fichier | |
|
|
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Imprimer un fichier Dim 29 Mai 2016 - 16:22 | |
| Je ne me souviens plus comment envoyer un fichier à l' imprimante par defaut Quelqu' un peut il me rafraichir la mémoire ?...
Dernière édition par ygeronimi le Mer 1 Juin 2016 - 2:18, édité 1 fois | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 29 Mai 2016 - 17:22 | |
| En mode panoramic simple, tu fais : execute_wait "write.exe Nom-du-programme.txt" si c'est un fichier texte et : execute_wait "mspaint.exe Nom-du-programme.jpg" si c'est un fichier image et lorsque write ou mspaint apparaît, tu clique sur imprimer dans le menu, car le mode direct ne marche plus en panoramic (execute "write.exe /p Nom-du-programme.txt") Sinon, si tu veux le faire avec la dll KGF, Klaus te dira ça mieux que moi. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 29 Mai 2016 - 18:35 | |
| Merci jjn4 mais je souhaite que l' impression se lance directement. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Imprimer un fichier Dim 29 Mai 2016 - 21:30 | |
| Salut ygeronimi, Tu peux faire en ligne de commande une impression passante (ou bloquante avec EXECUTE_WAIT), par exemple: - Code:
-
EXECUTE "cmd.exe /c Notepad.exe /p "+CHR$(34)+"Z:\Test.txt"+CHR$(34) TERMINATE Il n'y a pas d'intervention manuelle nécessaire pour l'impression du fichier texte (Test.txt). Toutefois il y a apparition brève de la fenêtre noire du cmd et de la fenêtre de Notepad, qui disparaissent après impression. Je ne sais pas a priori si on peut empêcher cet affichage peu esthétique. Il y a un moyen pour la fenêtre noire du cmd, mais pour la fenêtre de Notepad je ne sais pas. PS hello camarade ! j'ai mieux encore: - Code:
-
EXECUTE "Cmd.exe /c start /min Notepad.exe /p "+CHR$(34)+"Z:\Test.txt"+CHR$(34) TERMINATE là l'apparition de la fenêtre est vraiment brève. NB: le nom du fichier DOIT être entre quotes ( et non entrecôtes) Pour d'autres types de fichiers tu peux trouver des tuyaux ici: http://www.robvanderwoude.com/printfiles.php | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Mai 2016 - 3:09 | |
| J' avais trouvé "cmd.exe d/....... c:\users\.....\mon_fichier.txt" mais il faut le port utilisé derrière d/
mais là pour savoir lequel est utilisé.... | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Lun 30 Mai 2016 - 4:59 | |
| Les différents modes d'accès à une imprimanteUne imprimante peut être considérée comme locale ou distante. Une imprimante est vue depuis un ordinateur comme une imprimante locale lorsqu'elle est directement connectée à cet ordinateur. On communique avec une imprimante distante via le réseau local. Il peut s'agir d'une imprimante partagée ou d'une imprimante réseau. Dans le premier cas elle est branchée sur l'un des ordinateurs appartenant au réseau local, dans l'autre elle est raccordée directement sur le réseau local en ethernet ou en Wifi, ou au travers d'un serveur d'impression. La commande net useCette commande permet d'utiliser un périphérique partagé en lieu et place d'un périphérique local. Pour LPT1 la syntaxe est : net use LPT1: \\Nom_serveur\Nom_partage [ /persistent:yes]Nom_serveur est le nom de la machine a qui appartient l'imprimante partagée. Nom_partage est le nom de partage donné à cette imprimante. Si le commutateur /persistent=yes n'est pas utilisé la redirection est temporaire et l'effet de la commande cesse à l'arrêt de la machine. Toutes les impressions à destination de LPT1 sont dirigées vers l'imprimante partagée. Remarque : Je ne dispose pas d'imprimante, donc je ne peux pas tester . | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Imprimer un fichier Lun 30 Mai 2016 - 13:09 | |
| D'accord papydall, mais sauf erreur le problème posé était bien plus simple: comment en ligne de commande imprimer un texte sur l'imprimante par défaut ?
D'ailleurs, avec la commande Notepad précitée on peut définit l'imprimante (si non par défaut) par l'option /pt. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Mai 2016 - 13:23 | |
| Merci à tous, Je vous remercie tous de vos lumières mais je crois qu' une fois encore je vais me rabattre sur les fonctions de KGF.dll. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Imprimer un fichier Lun 30 Mai 2016 - 15:11 | |
| Dommage qu'il n'y ait pas de fonction d'impression en natif dans Panoramic. | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Lun 30 Mai 2016 - 19:32 | |
| | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Mar 31 Mai 2016 - 0:40 | |
| Voici un script VBS qui permet d’ imprimer n’importe quel fichier sur l’imprimante par défaut. - Code:
-
' Check the command line arguments If WScript.Arguments.Unnamed.Count <> 1 Then Syntax If WScript.Arguments.Named.Count > 0 Then Syntax
' Check if a valid file was specified Set objFSO = CreateObject( "Scripting.FileSystemObject" ) strFile = WScript.Arguments(0) If Not objFSO.FileExists( strFile ) Then Syntax strFolder = objFSO.GetParentFolderName( strFile ) Set objFSO = Nothing
' Open the Shell Folders object Set objShell = CreateObject( "Shell.Application" )
' Create an object for the specified file's parent folder Set objFolder = objShell.Namespace( strFolder )
' Create a collection for the folder's contents Set colFiles = objFolder.Items
' Loop through the collection to find the file specified If colFiles.Count > 0 Then For Each objFile In colFiles If LCase( objFile.Path ) = LCase( strFile ) Then ' Print the file with its associated print command objFile.InvokeVerbEx( "Print" ) End If Next End If
Sub Syntax Dim strMsg strMsg = "Print.vbs, Version 1.00" _ & vbCrLf _ & "Print a file - ANY file - on the default printer" _ & vbCrLf & vbCrLf _ & "Usage: " & UCase( WScript.ScriptName ) & " filename" _ & vbCrLf & vbCrLf _ & "Where: ""filename"" specifies the file to be printed (no wildcards)" _ & vbCrLf & vbCrLf _ & "Notes: This script will only work if a print command for the" _ & vbCrLf _ & " file's associated file type is defined in the registry." _ & vbCrLf _ & " When the associated program is used to open and print" _ & vbCrLf _ & " the file, the program will not be closed automatically." _ & vbCrLf _ & " This script may conflict with my DefOpen.bat script." _ & vbCrLf & vbCrLf _ & "Written by Rob van der Woude" _ & vbCrLf _ & "http://www.robvanderwoude.com" WScript.Echo strMsg WScript.Quit 1 End Sub
Enregistrer ce script sous Print.vbs par exemple Et voici un code en Panoramic pour le tester - Code:
-
dim rep$,f$ rep$ = dir_current$ + chr$(92) f$ = rep$ + "test.txt" : ' indiquer le fichier à imprimer execute_wait rep$ + "print.vbs" + " " + f$
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 31 Mai 2016 - 1:06 | |
| Celui là je le mets en réserve dans mon bric à brac. Merci Papydall ! | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Mar 31 Mai 2016 - 1:11 | |
| | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Imprimer un fichier Mar 31 Mai 2016 - 14:06 | |
| Merci papydall, mais bon sang ! voilà de la lecture pour un bon moment ! La petite sub Lprint() qui correspond au script vbs que tu as donné ci-dessus: - Code:
-
DIM f$ f$ = "Z:\test.txt": Lprint(f$) END
SUB Lprint(f$) ' Impression de f$ sur l'imprimante implicite DIM_LOCAL pvbs$,q$,a$ pvbs$ = "C:\TEMP\Print.vbs" q$ = CHR$(34) DATA "Vbscript" DATA "Set objFSO = CreateObject("+q$+"Scripting.FileSystemObject"+q$+")" DATA "strFile = WScript.Arguments(0)" DATA "strFolder = objFSO.GetParentFolderName( strFile )" DATA "Set objFSO = Nothing" DATA "Set objShell = CreateObject( "+q$+"Shell.Application"+q$+" )" DATA "Set objFolder = objShell.Namespace( strFolder )" DATA "Set colFiles = objFolder.Items" DATA "If colFiles.Count > 0 Then" DATA "For Each objFile In colFiles" DATA "If LCase( objFile.Path ) = LCase( strFile ) Then" DATA "objFile.InvokeVerbEx( "+q$+"Print"+q$+" )" DATA "End If" DATA "Next" DATA "End If" DATA "F" FILE_OPEN_WRITE 9,pvbs$ RESTORE: READ a$: WHILE a$<>"Vbscript": READ a$: END_WHILE READ a$: WHILE a$<>"F": FILE_WRITELN 9,a$: READ a$: END_WHILE FILE_CLOSE 9 EXECUTE_WAIT pvbs$+" "+f$ FILE_DELETE pvbs$ END_SUB | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Mar 31 Mai 2016 - 16:13 | |
| Merci JL35 d’avoir « Panoramiqué » le script. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Imprimer un fichier Mar 31 Mai 2016 - 16:30 | |
| D'un autre côté, la simple ligne: - Code:
-
EXECUTE_WAIT "Cmd.exe /c start /min Notepad.exe /p "+CHR$(34)+"Z:\Test.txt"+CHR$(34) fait aussi bien l'affaire, et même plus discrètement ! | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Mer 1 Juin 2016 - 0:06 | |
| Objection ! La simple ligne ne permet que l’impression de fichiers texte. Tandis que le script VBS permet l’impression de « ANY FILE » Essayer avec un .PDF ou .HTML. Je ne dispose pas d'imprimante, donc je ne peux pas tester | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Imprimer un fichier Mer 1 Juin 2016 - 0:13 | |
| @Papydall: Installe le freeware PDFCreator - tu auras une imprimante virtuelle dans laquelle tu peux imprimer n'importe quoi (images, texte, documents Word, ...) et regarder le résultat avec AdobeReader (ou n'importe quel lecteur PDF). C'est de cette manière que j'ai mis au point mes fonctions d'impression de KGF.dll. Sinon, la gâchis de papier aurait été monumental.. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Imprimer un fichier Mer 1 Juin 2016 - 0:30 | |
| Merci Klaus pour l'info.
J’ai testé avec le script avec un .PDF. J’ai obtenu un .TIF que j’ai ouvert avec PAINT. Tout est lisible. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 1 Juin 2016 - 2:17 | |
| Avec toutes ces infos, je vais renommer le sujet : " Imprimer un fichier" cela sera plus facile pour retrouver les infos. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Imprimer un fichier | |
| |
|
| |
| Imprimer un fichier | |
|