Necesito ayuda para enviar un texto formateado a una impresora usando Ruby en Ruby on Rails O enviando un archivo pdf a una impresora desde el programa Ruby. Puedo escribir el código para crear un archivo pdf desde la aplicación Rails pero no sé cómo imprimir ese archivo pdf en una impresora predeterminada. Intento escribir una pequeña aplicación de venta de entradas con Ruby on Rails.Imprimir un archivo en una impresora en Ruby
Respuesta
En Linux y Mac OS X puede usar el programa de línea de comando "lpr", pasándole el nombre del archivo PDF (aunque no estoy seguro acerca de Windows). Por ejemplo:
def print_to_paper
your_code_to_write_a_pdf_file("file.pdf")
system("lpr", "file.pdf") or raise "lpr failed"
end
Gracias (y). ¡¡Funcionó!! – Rohit
He aquí una solución en el entorno de Windows: ¡Foxit! http://www.foxitsoftware.com/pdf/reader/
Puede llamar a foxit.exe (ejecutable independiente) para imprimir de forma silenciosa un PDF en segundo plano.
Sintaxis: foxit.exe/t "de su file.pdf" "El Nombre de la impresora"
shell = WIN32OLE.new('Shell.Application')
shell.ShellExecute("foxit.exe","/t \"#{filename}\" \"#{printer}\"")
no estoy seguro de si hay una manera de imprimir algo en impresora predeterminada de la web. En mi banco, cuando quiero obtener la confirmación del pago, me dan el pdf y tengo que imprimirlo a mano. Creo que es una buena solución. Solo agrega algo de información al respecto.
Tengo una aplicación interna para crear etiquetas de computadora. Importo computadoras de un archivo que recibo de Dell o las ingreso manualmente, las exporto a un archivo CSV que puedo importar a MS SCCM. Puedo imprimir etiquetas para poner en las computadoras. Las etiquetas tienen el logotipo de una empresa, el nombre de la computadora, la dirección MAC y la información de contacto del servicio de atención al cliente.
Lo imprimo con gLabels. Usted diseña una etiqueta en gLabels, ingresa campos dinámicos y le da un CSV y escupe un PDF que luego uso lpr para imprimir en mi Dymo Labelwriter.
Lo puse en mi modelo de Computadoras porque no sabía dónde más ponerlo.
# Print all computers with printed = false
def self.print
printed_labels = 0
csv_file = Tempfile.new(["computers", ".csv"])
logger.debug("Writing #{csv_file.path}")
begin
Computer.transaction do
Computer.unprinted.each do |computer|
csv_file.puts "\"#{computer.mac(' ')}\",\"#{computer.hostname}\""
computer.printed = true
computer.save
printed_labels += 1
end
end
ensure
csv_file.close
if csv_file.length > 0
pdf_file = Tempfile.new(["computers", ".pdf"])
begin
pdf_file.close
system '/usr/bin/glabels-batch', "--input=#{csv_file.path}", "--output=#{pdf_file.path}", AssetBase::Application.config.computer_label
system '/usr/bin/lpr', '-P', 'LabelWriter-450', pdf_file.path
ensure
pdf_file.unlink
end
end
csv_file.unlink
end
printed_labels
end
Esto funciona en Fedora Linux para el servidor de impresora CUPS es y qué parte de la misma que se encarga de PDF no sé. Podría ser CUPS o el controlador de la impresora o el controlador de la impresora en sí.
Existen otros métodos para crear texto estructurado en PDF, pero para las etiquetas gLabels es genial.
- 1. bonito imprimir en un archivo en ruby
- 2. Imprimir en una impresora estándar de Python?
- 3. Imprimir en una impresora USB con Python en una Mac
- 4. Imprimir texto Archivar en una impresora específica en java
- 5. ¿Cómo puedo saber si una impresora imprimirá en un archivo?
- 6. Imprimir en una impresora específica (IPP URI) en Java
- 7. Imprimir en una impresora cliente desde una aplicación web
- 8. Imprimir imágenes PNG en una impresora de red zebra
- 9. ¿Cómo imprimir archivos de texto en la impresora en Qt?
- 10. ¿Cómo usar Java para imprimir en una impresora de red?
- 11. Cómo imprimir cualquier documento en una impresora SELECCIONADA
- 12. Desactivar programáticamente 'imprimir en archivo'
- 13. Cómo imprimir un docx a una impresora específica usando Microsoft.Office.Interop.Word.Document.PrintOut()
- 14. Cómo imprimir un archivo pcl en C#?
- 15. Impresión de archivo HTML en la impresora en java
- 16. ¿Cuál es la mejor manera de imprimir directamente en una impresora, como una impresora POS, a través de la web?
- 17. Cómo imprimir una matriz en un archivo .txt en Matlab?
- 18. Python 2.7: Imprimir en un archivo
- 19. ¿Cómo imprimir un archivo PDF en una aplicación Java?
- 20. Impresión de material en rieles (literalmente en una impresora)
- 21. enlace para imprimir en una página web
- 22. Impresión en Java directamente en una impresora de red Postscript
- 23. Cómo establecer la configuración de la impresora al imprimir PDF
- 24. ¿Cómo imprimir un archivo en papel en Python 3 en Windows XP/7?
- 25. Cómo imprimir PDF en una impresora de red predeterminada usando el comando de shell GhostScript (gswin32c.exe)
- 26. ¿Puedo volver a imprimir un archivo de cola?
- 27. Leer un archivo en trozos en Ruby
- 28. imprimir css: encajar en una sola página
- 29. Escribiendo un controlador de impresora de Windows
- 30. Escribiendo una impresora virtual en .NET
Sería muy útil saber para qué es el sistema operativo. –
Creo que @Shreyans quiere imprimirlo en el lado del cliente, no en el lado del servidor. Las respuestas de @wdebeaum y @ P.Bader son para el lado del servidor. – klew