1

如何将 ruby​​ 文件转换为 word 文件,即(docx 文件)。对于pdf,我们虾gem。但是是否有任何用于 word 文件的宝石。我正在尝试将我的 html 文件转换为 word 文件,以便用户也可以对其进行编辑。在这种情况下应该怎么做?我打算将该文件转换为word文件。有没有可能。

4

2 回答 2

1

如果您使用的是 Rails:

在初始化程序/mime_types.rb 中:

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

在您的控制器中:

假设您要导出显示操作:

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

在 application_controller.rb 中定义 set_header:

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

现在定义一个 show.msword.erb #you 可以使用任何模板处理程序,如 haml 等。

YOUR HTML HERE TO EXPORT TO DOC
AS LIKE NORMAL ERB TEMPLATE
于 2013-08-22T06:29:30.397 回答
0

使用 htmltoword 宝石。 https://github.com/nickfrandsen/htmltoword

它自 2015 年 11 月以来一直没有更新,但运行良好。

于 2017-09-28T16:29:48.040 回答