我有一个带有页眉和页脚的docx模板以及一些文本。现在我想在文档中添加一些具有指定最大大小的图像。
如果我尝试使用pandoc-ruby gem并生成一个html字符串并将其转换为word文档,那么我无法使用pandoc为生成的doc添加页眉和页脚。
答案 0 :(得分:1)
在尝试了多种方法之后,我最终编写了一个gem Omnidocx来完成这项工作。
您可以找到gem here的源代码。
请查看使用此行下方的gem Omnidocx将图像添加到文档的示例。
images_to_write = [ {
:path => "tmp/image1.jpg", #URL || local path
:height => 500,
:width => 500,
:hdpi => 115, #optional
:vdpi => 115 #optional
},
:path => "www.xyz.com/abc.jpeg", #URL || local path
:height => 800,
:width => 500,
:hdpi => 115, #optional
:vdpi => 115 #optional
}
]
Omnidocx::Docx.write_images_to_doc(images_to_write=[], input_document_path, output_document_path)
答案 1 :(得分:0)
可以使用gem htmltoword' https://github.com/karnov/htmltoword 我做了这些动作。 在Mime_types中我设置了
Mime::Type.register "application/vnd.openxmlformats-officedocument.wordprocessingml.document", :docx
在路线中我设置
get "create_docx" => "Some_controllers#create_docx", format: 'docx'
我在'Some_controller'中创建了动作'create_docx',然后我传递了HTML-object,例如
@thumb = Nokogiri::HTML::Document.parse(@fips_tz.doc).css('img')[1]
我使用img frpm URI获得docx'/ Some_controller / create_docx' 不要设置格式,我们会收到错误'无法识别的度量单位:'否则。 https://github.com/karnov/htmltoword/issues/66