Автор Гілка: OO Консольна конвертація документів  (Прочитано 2282 раз)

Відсутній ihorsl

  • Дописувач
  • **
  • дописів: 67
  • Карма: +0/-0
Маю таке питання :

Чи можна за допомогою OO чи якогось іншого ПО, що базується на ОО
налаштувати консольне конвертування файлів з .doc в .html під Linux'ом.

(Хочу написати консольний скріпт, який би автоматично імпорував доки і
верстав їх в HTML,
всю обробку тагів зроблю в скріпі, але треба просто імпортувати
doc в html, і витягнути вкладені малюнки)

Дякую

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3742
  • Карма: +9/-0
  • Програміст
Re: OO Консольна конвертація документів
« Відповідей #1 : 2005-04-14 16:30:42 »
Google привів мене сюди:

http://supportforum.sun.com/staroffice/index.php?t=msg&goto=4570&rid=0#msg_4570

там кажуть, що в документації по OOo є приклади.
[Fedora Linux]

Відсутній Sergiy Kudryk

  • Новачок
  • *
  • дописів: 19
  • Карма: +0/-0
Re: OO Консольна конвертація документів
« Відповідей #2 : 2005-04-14 20:34:53 »
Додаткова інформація:

є розробка для Zope для конвертації популярних форматів в html:
http://freshmeat.net/projects/nuxdocument/

+ існує конвертор sxw -> html

http://freshmeat.net/projects/soffice2html/

+ існує сервлет на Java для конвертації поміж .doc, .rtf. .pdf та .xls

http://freshmeat.net/projects/jooconverter/

Відсутній ihorsl

  • Дописувач
  • **
  • дописів: 67
  • Карма: +0/-0
Re: OO Консольна конвертація документів
« Відповідей #3 : 2005-04-25 19:43:59 »
Вдалося цю проблему гарно побороти :)

Люди з форуму www.openoffice.org.ua допомогли
дали лінк на сайт

http://www.oooconv.de

Де вже є готові приклади коду

Все що потрібно зробити - це додати до стандартних
макросів OO макрос для конвертування файлів

Наприклад такий :
sub ConvertDocToHTML(DocFile as String, HTMLFile as String)

      dim doc as object, desktop as object
      dim args(0) as new com.sun.star.beans.PropertyValue        
      oDesktop=createUnoService("com.sun.star.frame.Desktop")            
      doc=oDesktop.loadComponentFromURL(DocFile,"_blank",0,args())
      args(0).Name = "FilterName"
      args(0).Value = "HTML (StarWriter)"              

      doc.storeToURL(HTMLFile, args())

      doc.dispose()

end sub

Потім потрібно леше викликати цей макос з командного рядка

Для цього набераємо

ooffice -headless "macro:///Standard.my_module.ConvertDocToHTML("file:///root/input.doc","file:///root/output.html")"

Де /root/input.doc та /root/output.html - це вхідний та вихідний файли для конвертації

А my_module це ім'я модуля, в який ми дописали функцію ConvertDocToHTML


Доречі, щоб лекше було писати власні макроси раджу стандартну
функцію OO WritedbgInfo()
Вона виводить список доступних піделементів для будь якого класу
(Аналог випадаючого меню після натиснення . в VB)