Imprimir a partir da linha de comando do Windows 7

8

Estou procurando automatizar algumas impressões no Windows 7. Idealmente na linha de comando. Como se eu tivesse clicado com o botão direito e selecionado "Imprimir".

Tentei o comando:

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

Essa impressora deve criar arquivos PDF (como a impressora XPS), mas não conseguiu exibir nada na fila da impressora. Ideias?

mizipzor
fonte
1
Semelhante à pergunta seu stackoverflow.com/questions/5104930/how-to-print-through-cmd
Ishikawa Yoshi
Você está tentando criar arquivos PDF ou imprimi-los (ou ambos)?
martineau
@martineau Estou tentando criar arquivos PDF usando essa "impressora". Então eu acho que ambos. Mas não estou procurando documentos físicos.
Mizipzor
@mizipzor: OK, eu entendo. Eu acho que Dennis tem sua resposta. Eu atribuiria LPT1se possível, que é o padrão para a maioria dos comandos.
27612 martineau

Respostas:

15

O printcomando usa a seguinte sintaxe para o /d:comutador:

Especifica a impressora na qual você deseja imprimir o trabalho. Você pode especificar uma impressora local especificando a porta do seu computador à qual a impressora está conectada. Os valores válidos para portas paralelas são LPT1, LPT2 e LPT3. Os valores válidos para portas seriais são COM1, COM2, COM3 e COM4. Você também pode especificar uma impressora de rede pelo nome da fila (\ ServerName \ ShareName). Se você não especificar uma impressora, o trabalho de impressão será enviado para LPT1.

Isso significa que você não pode usar "CutePDF Writer"como argumento.

Existem duas maneiras de funcionar:

  • Atribua uma porta COM à sua impressora.

    1. Abra Iniciar → Painel de controle → Dispositivos e impressoras .
    2. Clique com o botão direito do mouse no CutePDF Writer e selecione Propriedades da impressora .
    3. Na guia Portas , atribua uma porta não utilizada de COM1:para COM4:a sua impressora.
    4. Se você escolher, por exemplo COM3, imprimir usando o seguinte comando:

      print /d:COM3 test.txt
      
  • Compartilhe a impressora.

    1. Abra Iniciar → Painel de controle → Dispositivos e impressoras .
    2. Clique com o botão direito do mouse no CutePDF Writer e selecione Propriedades da impressora .
    3. Na guia Compartilhamento , decida compartilhar a impressora e atribua um nome a ela.
    4. Se você escolher, por exemplo CutePDF, imprimir usando o seguinte comando:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      
Dennis
fonte
se eu quiser digitalizar da impressora usando o cmd, o que fazer?
Muath 3/06
Você pode querer converter seu TXT para PDF primeiro usando um programa de linha de comando gratuito chamado Text2PDF: eprg.org/pdfcorner/text2pdf
Sun
5

Oi A seguir, é mais fácil definir o CutePDF como impressora padrão, se você conhece o DOS, configurar uma impressora como padrão não deve ser problema e, em seguida, redefinir a configuração padrão da impressora novamente.

Para imprimir um arquivo de texto ou arquivo htm ou um arquivo bat ou qualquer arquivo de texto, digite o seguinte

  notepad /p test.txt

para outros programas, encontre o formato da linha de comando para impressão (no regedit ou na documentação)

ansel
fonte
4

Imprimir tipos de arquivo registrados Os arquivos que têm uma associação de tipo de arquivo no Windows (95/98 / NT / 2000) podem ser impressos usando o botão direito do mouse

Essa associação pode ser vista, por exemplo, para o arquivo .rtf no

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

onde o comando se parece com isso:

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

que significa :

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

(colchetes significam opcional). Pode ser chamado a partir do cmd usando o powershell, enviado no Windows desde o Vista.

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

Estritamente:

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

Ele funciona para quase todos os tipos de arquivos registrados com esse verbo registrado (printto)! Mas os drivers de impressora geralmente mostram o diálogo do usuário. A caixa de diálogo do usuário exibida pode ser desativada na impressora Bullzip Pdf.

Кое Кто
fonte
1

@mizipzor:

  1. O arquivo do trabalho entra com êxito na fila de impressão quando você segue a resposta de Dennis.

  2. Porém, o processamento do trabalho fica bloqueado porque a impressora não pode consumir um arquivo de entrada TEXT ! As razões:

    • As filas de impressão do Windows são muito mais estúpidas nesse aspecto (em contraste com as filas do CUPS Linux / Unix / OSX - que podem digitar automaticamente os dados recebidos e convertê-los automaticamente no que a respectiva fila de impressão relata como dados digeríveis).
    • Sua impressora provavelmente espera dados PostScript como entrada para criar um PDF a partir deles.

Portanto, o que você tenta fazer com o seu comando não funciona : envie um arquivo de texto para uma "impressora" que cria PDF. E não é possível fazê-lo funcionar de nenhuma outra maneira "simples" ...

Kurt Pfeifle
fonte
0

Painel de controle e dispositivos e impressoras Clique com o botão direito do mouse na impressora e nas propriedades da impressora Verifique se a impressora é Compartilhada e o "Nome do compartilhamento" possui 8 caracteres ou menos. No prompt do DOS> net use lpt1: \ 127.0.0.1 \ Agora seus programas do DOS serão impressos!

user809460
fonte