O problema é que, mesmo que o LibreOffice esteja invisível quando iniciado, ele se torna visível após a abertura de um documento. Existe uma solução no link :
-
Execute o LibreOffice sem recursos para chamar uma macro. A chamada da linha de comando deve não especificar o documento a ser aberto, apenas uma macro. Por exemplo (usando a sintaxe de macro mais recente):
soffice -headless -invisible "vnd.sun.star.script:Standard.Module1.MySubroutine? language=Basic&location=application"
-
A macro chama loadComponentFromUrl com a propriedade
Hidden
definida como true. Isso fará com que o documento não fique visível. - Agora, a macro realiza o que quer que seja que ela faria com o documento.
EDITAR :
Para fazer com que funcione para arquivos diferentes, passe o nome do arquivo como um parâmetro usando a sintaxe de macro mais antiga. Um exemplo do link :
soffice "macro:///Library3.Module1.test_Args(arg1,123,4.567,2000-12-31)"