当我通过字符串调用它时,无法在docx gem中打开文件

时间:2018-02-01 16:17:00

标签: ruby docx

我正在使用docx gem来读取docx文件。当我这样编写代码时,代码可以工作:

require 'docx'
doc = Docx::Document.open('example.docx')
puts doc

它完美地打印文档。但是,我需要通过一个获取来自用户的路径。我需要这样做:

require docx
puts "Provide the path of the document:"
document_path = gets.chomp.tr(" ", "") #it makes sure that any accidental whitespace is removed.
doc = Docx::Document.open(document_path)
puts doc

使用此代码,我希望得到与前者相同的结果。唯一的区别是我调用docx文档通过字符串打开,而不是显式。相反,我得到了这个错误:

/var/lib/gems/2.3.0/gems/rubyzip-1.1.7/lib/zip/file.rb:82:in `initialize': File '/root/Documents/Projects/Wordsworth/example.docx' (Zip::Error)
 not found
from /var/lib/gems/2.3.0/gems/rubyzip-1.1.7/lib/zip/file.rb:96:in `new'
from /var/lib/gems/2.3.0/gems/rubyzip-1.1.7/lib/zip/file.rb:96:in `open'
from /var/lib/gems/2.3.0/gems/docx-0.2.07/lib/docx/document.rb:25:in `initialize'
from /var/lib/gems/2.3.0/gems/docx-0.2.07/lib/docx/document.rb:50:in `new'
from /var/lib/gems/2.3.0/gems/docx-0.2.07/lib/docx/document.rb:50:in `open'
from test.rb:17:in `<main>'

我访问了docx gem github页面但是在示例中它给出了被调用的docx总是由编码器显式编写,而不是字符串。我希望我能得到一些帮助。非常感谢!

0 个答案:

没有答案