我有一个pdf文件,由wicked_pdf gem生成。
使用ruby 1.8.7,有没有办法自动连接到ubuntu中的默认打印机,以打印生成pdf。
我赞赏你的回复。
答案 0 :(得分:0)
假设您的PDF文件已保存到文件中,这可能有效:
pdf_file_path = "/tmp/pdf_file.pdf"
`lpr "#{pdf_file_path}`
如果内容是Ruby字符串:
pdf_file = WickedPDF.create_the_pdf_somehow
IO.popen('lpr', 'r+') do |pipe|
pipe.print pdf_file
pipe.close_write
end
答案 1 :(得分:0)
如果您的操作系统是ubuntu(或者可能是Mac),您可以使用系统(' lpr')命令轻松完成。这是我的应用程序,它就像一个魅力。
def general_receipt_export
pdf = render_to_string pdf: "#{@ids.map(&:inspect).join(',').to_s + '_receipt.pdf'}", :template => 'officials/general_receipt_export.html.erb', encoding: 'utf8',orientation: 'Landscape',page_size: 'A4'
render layout: false
save_path = Rails.root.join('public','pdfs', "#{@ids.map(&:inspect).join(',').to_s + '_receipt.pdf'}")
File.open(save_path, 'wb') do |file|
file << pdf
end
system("lpr", "public/pdfs/#{@ids.map(&:inspect).join(',').to_s + '_receipt.pdf'}")
end