2017-01-25 5 views
0

私は直接PDFから印刷しようとしています。あなたはhereシステムコマンドを使用したRailsアプリケーションでの直接印刷

を見ることができるように私は正常に動作しますが、のUbuntuでない窓やその他のOS秒でシステム(LPR) command.Thisソリューションを使用する必要があります。 ウィンドウでそれを行う方法を知っていますか?

、これが私の方法である:

def general_receipt_export 
    if params[:official_id].present? 
     @ids = params[:official_id].split(',') 
     @officials = Official.find(@ids) 
     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'}") 
    else 
     render json:{messege: 'No letter to export'},status: 404 
    end 
    end 

答えて

1

使用しているOSに関係のない簡単なソリューションが見つかりました。 このルビーのために:

<%= link_to 'print', 'your_link_here', :onclick => 'window.print();return false;'%> 

そして、それは等価 HTML 中:

<a onclick="window.print();return false;" href="your_link">print</a> 

はこれにあなたの時間を置くありがとうございました。

0

は、参考のために、このページを参照してください:https://technet.microsoft.com/en-us/library/cc731926(v=ws.11).aspxは、Windowsマシン上で実行されているラインプリンタデーモン(LPD)が必要でしょう。そして、コマンドを発行することができます。セキュリティ設定の一部を変更する必要があるかもしれません。私は長い間、WindowsマシンでRailsを使用していませんでしたので、セキュリティ設定がそれに影響を与えるかどうかはわかりません。

印刷しているマシンでラインプリンタデーモンが動作していますか?

私は上記のリンク先のページから:

をこの例では、10.0.0.45でのLPDホスト上 LaserPrinter1プリンタキューに「ドキュメント.txt」のテキストファイルを印刷する方法を示しています。

あなたが正しい方向に手助けをしたり案内してくれることを願っています。

関連する問題