Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将HTML转换为word文件?_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.1_Rubygems - Fatal编程技术网

Ruby on rails 将HTML转换为word文件?

Ruby on rails 将HTML转换为word文件?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rubygems,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rubygems,如何在word文件(即docx文件)中转换ruby文件。对于pdf,我们使用虾宝石。但是word文件中是否有任何gem。我正在尝试将我的html文件转换为word文件,以便用户也可以对其进行编辑。在那种情况下该怎么办?我正计划将该文件转换为word文件。有没有可能 如果您使用的是Rails: 在initializers/mime_types.rb中: 在控制器中: 假设要导出“显示动作”: def show @item = Item.find params[:id] respond_to

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

如果您使用的是Rails: 在initializers/mime_types.rb中: 在控制器中: 假设要导出“显示动作”:

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_头: 现在定义show.msword.erb#您可以使用任何模板处理程序,如haml等。 如果您使用的是Rails: 在initializers/mime_types.rb中: 在控制器中: 假设要导出“显示动作”:

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_头: 现在定义show.msword.erb#您可以使用任何模板处理程序,如haml等。 使用单词gem。

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

使用HTMLWord gem。


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

f=File.new('myword.docx','w')f.write(File.read('my_html.html'))f.close
…试试这个thanks@RajarshiDas:为什么不直接复制
FileUtils.cp
您想复制什么@kabie还有很多其他方法,通过使用
File.readlines
逐行使用rails导出到文档吗?
f=File.new('myword.docx','w')f.write(File.read('my_html.html'))f.close
…试试这个thanks@RajarshiDas:为什么不直接复制
FileUtils.cp
您想复制什么@kabie使用
文件逐行导出还有许多其他方法。readlines
您想使用rails导出到文档吗?文件被创建,但当我打开它时,我会胡言乱语,word要求我转换格式文件被创建,但当我打开它时,我会胡言乱语,word要求我转换格式
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
YOUR HTML HERE TO EXPORT TO DOC
AS LIKE NORMAL ERB TEMPLATE