V webovej aplikácii Ruby chcem, aby boli používatelia schopnína odovzdanie dokumentov. Ak používateľ odovzdá súbor Microsoft Word (.doc), chcem, aby Ruby spočítaval počet strán v súbore. Bolo by dokonca jemnejšie získať počet slov, ale počet strán bude robiť.
Ako by som to urobil? Existuje Rubínová knižnica / klenot, ktorý to dokáže pre mňa? Je to možné aj vzhľadom na formát DOC?
odpovede:
1 pre odpoveď č. 1V rubíne otvorte súbor so slovami, ktorý potrebujete použiť:
require "win32ole"
word = WIN32OLE.new("word.application")
word.visible = true
word.documents.count
# open/create new document
word.documents.add
# or open file
word.documents.open(path_to_file)
(Zdroj: http://www.ruby-forum.com/topic/99742#214485)
pozri: http://www.perlmonks.org/?node_id=614609 pre algoritmus na získanie správneho / očakávaného počtu slov (poznámka: algo je v perlu)
potom:
word.activedocument.close( false )
word.quit
4 pre odpoveď č. 2
Zavolajte ComputeStatistics () metóda na objekte dokumentu Rozsah:
require "win32ole"
WdStatisticWords = 0
WdStatisticPages = 2
word = WIN32OLE.connect("Word.Application")
doc = word.ActiveDocument
word_count = doc.Range.ComputeStatistics(WdStatisticWords)
page_count = doc.Range.ComputeStatistics(WdStatisticPages)
Nájdete tu rôzne články o automatizácii Word s Ruby tu.