Impresión desde la línea de comandos de Windows 7

8

Estoy buscando automatizar algunas impresiones en Windows 7. Idealmente desde la línea de comandos. Como si hubiera hecho clic derecho y seleccionado "Imprimir".

Intenté el comando:

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

Se supone que esa impresora creó archivos PDF (como la impresora XPS) pero no ha logrado que aparezca nada en la cola de la impresora. Ideas?

mizipzor
fuente
1
Similar a su pregunta stackoverflow.com/questions/5104930/how-to-print-through-cmd
Ishikawa Yoshi
¿Estás intentando crear archivos PDF o imprimirlos (o ambos)?
Martineau
@martineau Estoy tratando de crear archivos PDF usando esa "impresora". Entonces supongo que ambos. Pero no estoy buscando obtener documentos físicos.
mizipzor
@mizipzor: OK, entiendo. Creo que Dennis tiene tu respuesta. Lo asignaría LPT1si es posible, que es el valor predeterminado para la mayoría de los comandos.
Martineau

Respuestas:

15

El printcomando usa el siguiente synatx para el /d:conmutador:

Especifica la impresora en la que desea imprimir el trabajo. Puede especificar una impresora local especificando el puerto en su computadora al que está conectada la impresora. Los valores válidos para puertos paralelos son LPT1, LPT2 y LPT3. Los valores válidos para los puertos serie son COM1, COM2, COM3 y COM4. También puede especificar una impresora de red por su nombre de cola (\ ServerName \ ShareName). Si no especifica una impresora, el trabajo de impresión se envía a LPT1.

Esto significa que no puedes usarlo "CutePDF Writer"como argumento.

Hay dos formas que deberían funcionar:

  • Asigne un puerto COM a su impresora.

    1. Abra Inicio → Panel de control → Dispositivos e impresoras .
    2. Haga clic con el botón derecho en CutePDF Writer y seleccione Propiedades de impresora .
    3. En el Puertos pestaña, asignar un puerto no utilizado a partir COM1:de COM4:la impresora.
    4. Si elige, por ejemplo COM3, imprimir usando el siguiente comando:

      print /d:COM3 test.txt
      
  • Comparte la impresora.

    1. Abra Inicio → Panel de control → Dispositivos e impresoras .
    2. Haga clic con el botón derecho en CutePDF Writer y seleccione Propiedades de impresora .
    3. En la pestaña Compartir , decida compartir la impresora y asígnele un nombre compartido.
    4. Si elige, por ejemplo CutePDF, imprimir usando el siguiente comando:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      
Dennis
fuente
si quiero escanear desde la impresora usando cmd, ¿qué hacer?
Muath
Es posible que desee convertir su TXT a PDF primero utilizando un programa gratuito de línea de comandos llamado text2pdf: eprg.org/pdfcorner/text2pdf
Dom
5

Hola Lo siguiente es más fácil configurar CutePDF como impresora predeterminada si conoce DOS, entonces configurar una impresora como predeterminada no debería ser un problema y luego restablecer la configuración predeterminada de la impresora nuevamente.

para imprimir un archivo de texto o un archivo htm o un archivo bat o cualquier archivo de texto ingrese lo siguiente

  notepad /p test.txt

para otros programas, busque el formato de línea de comando para imprimir (en regedit o en documentación)

ansel
fuente
4

Imprimir tipos de archivos registrados Los archivos que tienen una asociación de tipo de archivo en Windows (95/98 / NT / 2000) se pueden imprimir con el botón derecho del mouse

Esta asociación se puede ver, por ejemplo, para el archivo .rtf en

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

donde el comando se ve así:

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

lo que significa :

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

(los corchetes significan opcional). Se puede invocar desde cmd usando powershell, enviado en Windows desde Vista.

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

Estrictamente:

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

¡Funciona para casi cualquier tipo de archivo registrado con dicho verbo registrado (printto)! Pero los controladores de impresora generalmente muestran el diálogo del usuario. El diálogo del usuario que se muestra se puede deshabilitar en la impresora Bullzip Pdf.

Кое Кто
fuente
1

@mizipzor:

  1. El archivo de trabajo ingresa correctamente a la cola de impresión cuando sigue la respuesta de Dennis.

  2. ¡Pero entonces el procesamiento del trabajo se atasca porque esa impresora no puede consumir un archivo de entrada TEXTO ! Las razones:

    • Las colas de impresión de Windows son mucho más tontas a este respecto (en contraste con las colas CUPS de Linux / Unix / OSX, que pueden escribir automáticamente los datos entrantes y convertirlos automáticamente a lo que la cola de impresión respectiva informa como datos digeribles).
    • Es muy probable que su impresora espere datos PostScript como entrada para crear un PDF a partir de ella.

Por lo tanto, lo que intente hacer con su comando no funcionará : envíe un archivo de texto a una "impresora" creadora de PDF. Y tampoco es posible hacerlo funcionar de ninguna otra manera "simple" ...

Kurt Pfeifle
fuente
0

Panel de control y luego Dispositivos e impresoras Haga clic derecho en la impresora y luego en las propiedades de la impresora Asegúrese de que la impresora esté Compartida y que el "Nombre compartido" tenga 8 caracteres o menos. En el indicador de DOS> net use lpt1: \ 127.0.0.1 \ ¡Ahora se imprimirán sus programas de DOS!

usuario809460
fuente