Общий случай чрезвычайно сложен, но для перевода непрерывных серий текста, которые отформатированы одинаково, вы можете использовать WIN32OLE для доступа к документам Word с помощью Word, если вы находитесь в Windows и имеете копиюWord установлен.
Документацию можно найти по Объектная модель Word .Вы также можете использовать встроенный Object Browser (запустите редактор макросов и нажмите F2 ).
Следующий короткий скрипт может сформировать отправную точку для вашего исследования:
require 'win32ole'
file = ENV['USERPROFILE'] + '/Desktop/' + 'This is a test.docx';
word = WIN32OLE.new('Word.Application')
word.visible = true
doc = word.Documents.Open(file)
doc.paragraphs.each { |p| puts p.Range.Text }
doc.Close()
word.Quit()