我需要使用Ruby on Ruby on Rails将格式化文本发送到打印机或从Ruby程序将PDF文件发送到打印机。我可以编写代码来从Rails应用程序创建PDF文件,但不知道如何将该PDF文件打印到默认打印机。我正在尝试使用Ruby on Rails编写一个小票务应用程序。将文件打印到Ruby中的打印机
回答
在Linux和Mac OS X上,您可以使用“lpr”命令行程序,将PDF文件的名称传递给它(不确定是否有Windows)。例如:
def print_to_paper
your_code_to_write_a_pdf_file("file.pdf")
system("lpr", "file.pdf") or raise "lpr failed"
end
谢谢(y)。有效!! – Rohit 2017-10-31 05:37:45
这是Windows环境中的一个解决方案:Foxit! http://www.foxitsoftware.com/pdf/reader/
您可以调用foxit.exe(独立可执行文件)在后台以静默方式打印PDF。
语法:foxit.exe /吨 “你file.pdf”, “打印机名称”
shell = WIN32OLE.new('Shell.Application')
shell.ShellExecute("foxit.exe","/t \"#{filename}\" \"#{printer}\"")
我不知道是否有对打印内容的方式来自web的默认打印机。在我的银行,当我想要付款确认时,他们给我pdf,我必须打印它manualy。我认为这是很好的解决方案。只需添加一些关于它的信息。
我有一个用于创建计算机标签的内部应用程序。我从我从戴尔获得的文件中导入计算机,或者手动输入它们,然后将它们导出为可以导入MS SCCM的CSV文件。我可以打印标签放在电脑上。标签上有公司标志,计算机名称,MAC地址和服务台联系信息。
我用gLabels打印它。您可以在gLabels中设计一个标签,输入动态字段并向其中提供一个CSV,然后它会分发一个PDF,然后使用lpr将其打印到我的Dymo Labelwriter中。
我把它放在我的计算机模型中,因为我不知道要把它放在哪里。
# 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
这是在Fedora Linux上运行的,因此打印机后端是CUPS,它的哪些部分处理PDF我不知道。它可能是CUPS或打印机驱动程序或打印机驱动程序本身。
还有其他创建结构化文本到PDF的方法,但对于标签gLabels是伟大的。
- 1. 将文件打印到java中的特定打印机
- 2. 如何将文件打印到特定的打印机
- 3. 将iframe内部显示的pdf文件打印到打印机
- 4. 打印bufferedimage到打印机
- 5. AirPrint:直接将PDF文件打印到打印机
- 6. AX2012将txt文件打印到打印机
- 7. 如何在Qt中打印文本文件到打印机?
- 8. Java打印机:将文档发送到远程打印机
- 9. 打印到默认的Zebra打印机Windows打印机
- 10. 将打印文件复制到文件夹的打印机驱动程序?
- 11. Ruby:使用ruby连接到打印机
- 12. Windows 8,打印到PostScript打印机到文件
- 13. 如何将文件文件发送到打印机并进行打印?
- 14. 从ruby打印到IP收据打印机
- 15. 如何将同一文档打印到多台打印机
- 16. 将MigraDoc文档打印到特定打印机
- 17. 我需要将.emacs打印到默认的Windows打印机中?
- 18. 打印到PDF打印机编程
- 19. 打印到斑马打印机在php
- 20. 打印到UPS/Fedex热敏打印机?
- 21. 打印到收据打印机PRP-085IIIT
- 22. PHP打印到无线打印机
- 23. Java - 打印到收据打印机
- 24. 从Android打印到AirPrint打印机
- 25. 从ASP.NET打印到网络打印机
- 26. 使用pdf打印机打印文档
- 27. Vb6打印机对象打印日文
- 28. Primefaces打印机打印div
- 29. 发送文件到打印机,什么都不打印
- 30. 打印到文件
了解这是什么操作系统会非常有帮助。 – 2009-10-22 20:54:38
我认为@Shreyans希望在客户端打印,而不是在服务器端打印。 @wdebeaum和@ P.Bader的答案是服务器端。 – klew 2010-04-12 11:06:23