Impression à partir de la ligne de commande de Windows 7

8

Je cherche à automatiser certaines impressions dans Windows 7. Idéalement à partir de la ligne de commande. Tout comme si j'avais cliqué avec le bouton droit et sélectionné "Imprimer".

J'ai essayé la commande:

C:\>print /D:"CutePDF Writer" test.txt

Cette imprimante est censée créer des fichiers PDF (comme l'imprimante XPS) mais n'a pas réussi à faire apparaître quoi que ce soit dans la file d'attente de l'imprimante. Des idées?

mizipzor
la source
1
Semblable à votre question stackoverflow.com/questions/5104930/how-to-print-through-cmd
Ishikawa Yoshi
Essayez-vous de créer des fichiers PDF ou de les imprimer (ou les deux)?
martineau
@martineau J'essaie de créer des fichiers PDF en utilisant cette "imprimante". Donc je suppose que les deux. Mais je ne cherche pas à obtenir des papiers physiques.
mizipzor
@mizipzor: OK, je comprends. Je pense que Dennis a votre réponse. Je l'attribuerais LPT1si possible, qui est la valeur par défaut pour la plupart des commandes.
martineau

Réponses:

15

La printcommande utilise le synatx suivant pour le /d:commutateur:

Spécifie l'imprimante sur laquelle vous souhaitez imprimer le travail. Vous pouvez spécifier une imprimante locale en spécifiant le port de votre ordinateur auquel l'imprimante est connectée. Les valeurs valides pour les ports parallèles sont LPT1, LPT2 et LPT3. Les valeurs valides pour les ports série sont COM1, COM2, COM3 et COM4. Vous pouvez également spécifier une imprimante réseau par son nom de file d'attente (\ ServerName \ ShareName). Si vous ne spécifiez pas d'imprimante, le travail d'impression est envoyé à LPT1.

Cela signifie que vous ne pouvez pas utiliser "CutePDF Writer"comme argument.

Il y a deux façons qui devraient fonctionner:

  • Attribuez un port COM à votre imprimante.

    1. Ouvrez Démarrer → Panneau de configuration → Périphériques et imprimantes .
    2. Cliquez avec le bouton droit sur l' enregistreur CutePDF et sélectionnez Propriétés de l'imprimante .
    3. Dans l' onglet Ports , affectez un port inutilisé de COM1:à COM4:à votre imprimante.
    4. Si vous avez choisi, par exemple COM3, d'imprimer à l'aide de la commande suivante:

      print /d:COM3 test.txt
      
  • Partagez l'imprimante.

    1. Ouvrez Démarrer → Panneau de configuration → Périphériques et imprimantes .
    2. Cliquez avec le bouton droit sur l' enregistreur CutePDF et sélectionnez Propriétés de l'imprimante .
    3. Dans l' onglet Partage , décidez de partager l'imprimante et attribuez-lui un nom de partage.
    4. Si vous avez choisi, par exemple CutePDF, d'imprimer à l'aide de la commande suivante:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      
Dennis
la source
si je veux numériser à partir d'une imprimante à l'aide de cmd, que faire?
Muath
Vous voudrez peut-être d'abord convertir votre TXT en PDF en utilisant un programme en ligne de commande gratuit appelé text2pdf: eprg.org/pdfcorner/text2pdf
Sun
5

Salut Ce qui suit est plus facile de définir CutePDF comme imprimante par défaut si vous connaissez DOS, puis définir une imprimante par défaut ne devrait pas poser de problème, puis réinitialiser à nouveau le paramètre d'imprimante par défaut.

pour imprimer un fichier texte ou un fichier htm ou un fichier bat ou tout autre fichier texte, entrez ce qui suit

  notepad /p test.txt

pour d'autres programmes trouver le format de ligne de commande pour l'impression (dans regedit ou dans la documentation)

ansel
la source
4

Imprimer les types de fichiers enregistrés Les fichiers qui ont une association de type de fichier dans Windows (95/98 / NT / 2000) peuvent être imprimés en utilisant le bouton droit de la souris

Cette association est visible, par exemple pour le fichier .rtf dans

"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rtffile\shell\printto\command"

où la commande ressemble à ceci:

"%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /pt "%1" "%2" "%3" "%4"

ce qui signifie :

"wordpad.exe /pt TextFileName PrinterName [ DriverName [ PortName ] ]"

(les crochets signifient facultatif). Il peut être appelé à partir de cmd à l'aide de PowerShell, livré dans Windows depuis Vista.

powershell -command "start -verb printto AnyFile.rtf PrinterName [ DriverName [ PortName ] ]"

Strictement:

"%windir%\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "& {Start-Process -FilePath  'test.txt'  -ArgumentList '\"CutePDF Writer\"' -Verb 'printto' }"

Cela fonctionne pour presque tous les types de fichiers enregistrés avec un tel verbe enregistré (printto)! Mais les pilotes d'imprimante affichent généralement une boîte de dialogue utilisateur. La boîte de dialogue utilisateur indiquant peut être désactivée dans l'imprimante Bullzip Pdf.

Кое Кто
la source
1

@mizipzor:

  1. Le fichier de travail entre avec succès dans la file d'attente d'impression lorsque vous suivez la réponse de Dennis.

  2. Mais le traitement des travaux reste bloqué car cette imprimante ne peut pas consommer un fichier d'entrée TEXT ! Les raisons:

    • Les files d'attente d'impression Windows sont beaucoup plus stupides à cet égard (contrairement aux files d'attente CUPS Linux / Unix / OSX - qui peuvent taper automatiquement les données entrantes et les convertir automatiquement en ce que la file d'attente d'impression respective rapporte en tant que données digestes).
    • Votre imprimante attend très probablement des données PostScript en entrée afin de créer un PDF à partir de celles-ci.

Par conséquent, ce que vous essayez de faire avec votre commande ne fonctionnera pas : envoyez un fichier texte à une "imprimante" de création de PDF. Et il n'est pas possible de le faire fonctionner d'une autre manière "simple" non plus ...

Kurt Pfeifle
la source
0

Panneau de configuration, puis Périphériques et imprimantes Cliquez avec le bouton droit sur l'imprimante, puis sur les propriétés de l'imprimante Assurez-vous que l'imprimante est partagée et que le "nom de partage" est de 8 caractères ou moins. À l'invite DOS> net use lpt1: \ 127.0.0.1 \ Maintenant, vos programmes DOS s'imprimeront!

user809460
la source