Форум сайта python.su
Проблема в том чтобы посчитать количество символов с пробелами, так чтобы оно совпадало с тем что word показывает.
Подскажите любой вариант.
Антиворд не подошел мне, т.к. он меняет делает преобразование форматирования и изменяет количество пробелов.
А если у кого завалялся готовый кусочек кода то буду беспредельно благодарен!
П.С. даже скрипт http://mainspy.ru/kolichestvo_simvolov правильно считает, а у меня не получается. Если бы можно было какой-то функцией достать из ворда текст с таким же преобразованием, которое совершается при копировании из ворда в обычный текстовый редактор, то это меня бы спасло.
Отредактировано (Июнь 1, 2011 16:51:57)
Офлайн
А задача позволяет воспользоваться win api?
Офлайн
beliy_shumУточняю задачу топик стартера
Проблема в том чтобы посчитать количество символов с пробелами, так чтобы оно совпадало с тем что word показывает.
import uno
local = uno.getComponentContext()
resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
desktop = context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", context)
url = "file:////home/asuperevod/asuperevod/lib/python/asulib/primer/001_ru_3338_3893.doc"
url = "file:///" + fname
document = desktop.loadComponentFromURL(url,"_blank", 0, ())
document.dispose()
print document.DocumentInfo.DocumentStatistic
()
Офлайн
ZANНе хочется еще и wine тащить в задачу.
А задача позволяет воспользоваться win api?
Офлайн
ZANК сожалению нет.
А задача позволяет воспользоваться win api?
Офлайн
Решение найдено. Подсказали на
http://user.services.openoffice.org/en/forum/
import uno
local = uno.getComponentContext()
resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
desktop = context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", context)
url = "file:////home/asuperevod/asuperevod/lib/python/asulib/primer/001_ru_3338_3893.doc"
document = desktop.loadComponentFromURL(url,"_blank", 0, ())
print document.CharacterCount
document.dispose()
Офлайн