Преобразование в xml из командной строки - PullRequest
0 голосов
/ 24 мая 2018

Здесь есть предыдущий пост, делающий то, что мне нужно, в графическом режиме:

Преобразование данных Calc (Excel) в XML в OpenOffice

Возможно ли это сделатьточно так же, как и выше. ODS (. XLS) в. XML с использованием этого примера преобразования из командной строки?

/ Paul

До сих пор я создал XML-фильтр, как описано как "CustData"и выполнил эту команду (пробовал все три варианта):

libreoffice --convert-to xml:CustData --outdir ut/ outfile.xlsx
libreoffice --convert-to xml:"CustData" --outdir ut/ outfile.xlsx
libreoffice --convert-to xml[:CustData] --outdir ut/ outfile.xlsx


convert /home/paul/outfile.xlsx -> /home/paul/ut//outfile.xml using filter : CustData
Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///home/paul/ut//outfile.xml> failed: 0x81a)

Что я здесь не так делаю?И почему между "ut" и "outfile.xml" произойдет двойная косая черта?

/ Paul

1 Ответ

0 голосов
/ 25 мая 2018

Код ошибки failed: 0x81a означает, что имя фильтра неверно.

Первые два --convert-to xml:CustData и --convert-to xml:"CustData" работают для меня, если фильтр называется "CustData" и команда командной строкизапускается от того же пользователя, который создал фильтр в своем Libreoffice, следуя инструкциям в Создание фильтров XML ..

Последний --convert-to xml[:CustData] не может работать.Это неверное толкование синтаксического шаблона в Запуск программного обеспечения LibreOffice с параметрами .Квадратные скобки в --convert-to output_file_extension[:output_filter_name] означают, что :output_filter_name является необязательным, а не то, что здесь следует использовать скобки.

Двойная косая черта там, потому что вы устанавливаете косую черту в --outdir ut/.Должно быть --outdir ut, если подразумевается текущий каталог / ut.

Но главная проблема, вероятно, заключается в том, что пользователь, который запускает команду командной строки, не тот, кто создал фильтр.Фильтры хранятся в домашнем каталоге пользователей.Мой фильтр например в /home/axel/.config/libreoffice/4/user/registrymodifications.xcu.Таким образом, другие пользователи не имеют к ним доступа.

Выполните Распределение XML-фильтра в виде пакета .Сохраните XML-фильтр как пакет от одного пользователя, а затем установите XML-фильтр из этого пакета при входе в систему от имени другого пользователя.

Не беспокойтесь о выражении «Диалоговое окно« Параметры фильтра XML »доступно только в том случае, еслитекстовый документ открыт. "Это неправда.Он также доступен, когда открыт документ Calc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...