Convert HTML to word file ?

后端 未结 2 1880
青春惊慌失措
青春惊慌失措 2020-11-29 10:39

How to convert ruby file in word file i.e (docx file). For pdf, we prawn gem. But is there any gem for word file. I am trying to convert my html file in word file so that it

相关标签:
2条回答
  • 2020-11-29 11:26

    If you are using Rails:

    in initializers/mime_types.rb:

    Mime::Type.register 'application/vnd.ms-word', :msword 
    

    in your controller:

    say you want to export show action:

    def show
      @item = Item.find params[:id]
      respond_to do |format|
        format.html # show.html.erb
        format.xml { render :xml => @item }
        format.msword { set_header('msword', "#{@item.title}.doc") }
        format.pdf do
            render :pdf => 'Coming soon...', :layout => false
        end
      end
     end
    

    define set_header in application_controller.rb:

    def set_header(p_type, filename)
      case p_type
        when 'xls'
         headers['Content-Type'] = "application/vnd.ms-excel; charset=UTF-8'"
         headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
         headers['Cache-Control'] = ''
    
        when 'msword'
         headers['Content-Type'] = "application/vnd.ms-word; charset=UTF-8"
         headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
         headers['Cache-Control'] = ''
    
       end
     end
    

    now define a show.msword.erb #you can use any template handler like haml etc.

    YOUR HTML HERE TO EXPORT TO DOC
    AS LIKE NORMAL ERB TEMPLATE
    
    0 讨论(0)
  • 2020-11-29 11:38

    Use htmltoword gem. https://github.com/nickfrandsen/htmltoword

    it hasn't been updated since November 2015, but works well.

    0 讨论(0)
提交回复
热议问题