Universal Network Objects ( UNO ) — это компонентная модель, используемая в пакетах компьютерных приложений OpenOffice.org и LibreOffice . Она основана на интерфейсе и разработана для обеспечения взаимодействия между различными языками программирования , объектными моделями и архитектурами машин на одной машине, в локальной сети или через Интернет.
Пользователи могут реализовывать или получать доступ к компонентам UNO из любого языка программирования, для которого существует языковая привязка . Полные языковые привязки UNO существуют для C++ (зависят от компилятора), Java , Object REXX , Python и Tcl . Привязки, позволяющие доступ, но не запись, к компонентам существуют для StarOffice Basic , OLE Automation и .NET Common Language Infrastructure . В частности, этот API используется макросами.
Универсальные сетевые объекты работают в среде выполнения UNO (URE). [1]
Версия UNO для Apache OpenOffice выпускается на условиях лицензии Apache (версия 2) как бесплатное программное обеспечение с открытым исходным кодом .
Примеры: внешняя программа может экспортировать файл ODT как файл PDF или импортировать и конвертировать DOCX , вызывая LibreOffice через интерфейс UNO. Другая внешняя программа может получить доступ к ячейке и формулам из файла LibreOffice Calc.
Примеры применения: Docvert , [2] JODConverter , [3] unoConv . [4]
Программисты могут писать и интегрировать собственные компоненты UNO в OpenOffice/LibreOffice. Эти компоненты могут быть добавлены в меню и панели инструментов LibreOffice; они называются «надстройками». [5] Надстройки могут расширять функциональность LibreOffice.
Интеграция новых компонентов поддерживается некоторыми инструментами и службами. Три основных шага следующие: [5]
unopkg
.Пример применения: jOpenDocument . [6]