Моя настройка:
- Linux Mint 22 (Ubuntu 24.04)
- LibreOffice 24.8
- Python 3.12.0
unotools установлен
Код: Выделить всё
soffice --accept="socket,host=localhost,port=2002;urp;"
Код: Выделить всё
import sys
from pathlib import Path
# Prevent uno ModuleNotFoundError
sys.path.append('/usr/lib/python3/dist-packages')
import uno
# Connect to LibreOffice
local_context = uno.getComponentContext()
resolver = local_context.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local_context)
context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
desktop = context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", context)
# Create URL
file_path = Path('doc.odt')
file_url = file_path.resolve().as_uri()
# Load the document
doc = desktop.loadComponentFromURL(file_url, "_blank", 0, ())
Код: Выделить всё
com.sun.star.lang.IllegalArgumentException: Unsupported URL : "type detection failed" at ./framework/source/loadenv/loadenv.cxx:189
Я изменил путь к файлу, чтобы сделать его более кратким для вопроса, но путь, который я использую, действителен, и я могу открыть файл непосредственно в LibreOffice Writer.
p>
Может кто-нибудь пролить свет на то, что может быть не так, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ported-url
Мобильная версия