Иморт txt в odt через bash

Языки программирования, IDE, компиляторы, интерпретаторы, гипервизоры и виртуальные среды
Правила форума
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Версия ОС вместе с разрядностью. Пример: LM 18.1 x64, LM Sarah x32 2. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 3. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 4. Суть. Желательно с выводом консоли, логами. 5. Скрин. Просьба указывать 1, 2 и 3 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
madesta
Сообщения: 403
Зарегистрирован: 11 июн 2017, 18:47
Решено: 7
Благодарил (а): 27 раз
Поблагодарили: 73 раза

Иморт txt в odt через bash

Сообщение madesta » 03 июн 2019, 13:48

Существует ли способ импорта содержимого файла txt (в кодировке UTF-8) в файл Libre Office (odt) через bash или какую-либо другую команду?
Содержание odt значения не имеет, он может быть и пустым.
В результате желательно было бы на выходе получить файл odt с текстом из файла txt.

Связано с "хотелками" по автоматизации.

Решение Ара Магеддон » 03 июн 2019, 15:02
darkfenix писал(а):
03 июн 2019, 13:53
Самое простое что придумал cat file.txt > file.odt
Не, так оно не работает :D

Вот тут в первом же ответе все есть: https://askubuntu.com/questions/998167/ ... e-terminal
То есть, командой типа libreoffice --convert-to odt document.txt

Перейти к ответу ➙

Аватара пользователя

rogoznik
Сообщения: 5852
Зарегистрирован: 27 июн 2017, 10:36
Решено: 63
Откуда: Нижний Тагил
Благодарил (а): 322 раза
Поблагодарили: 1067 раз

Иморт txt в odt через bash

Сообщение rogoznik » 03 июн 2019, 13:53

Самое простое что придумал

Код: Выделить всё

cat file.txt > file.odt
ИзображениеИзображение

Аватара пользователя

Ара Магеддон
Сообщения: 216
Зарегистрирован: 07 дек 2018, 22:08
Решено: 9
Благодарил (а): 13 раз
Поблагодарили: 53 раза

Иморт txt в odt через bash

Сообщение Ара Магеддон » 03 июн 2019, 15:02

darkfenix писал(а):
03 июн 2019, 13:53
Самое простое что придумал cat file.txt > file.odt
Не, так оно не работает :D

Вот тут в первом же ответе все есть: https://askubuntu.com/questions/998167/ ... e-terminal
То есть, командой типа libreoffice --convert-to odt document.txt

Аватара пользователя

rogoznik
Сообщения: 5852
Зарегистрирован: 27 июн 2017, 10:36
Решено: 63
Откуда: Нижний Тагил
Благодарил (а): 322 раза
Поблагодарили: 1067 раз

Иморт txt в odt через bash

Сообщение rogoznik » 03 июн 2019, 15:11

Ара Магеддон писал(а):
03 июн 2019, 15:02
Не, так оно не работает :D
А так хотелось :-D
ИзображениеИзображение

Аватара пользователя

Автор темы
madesta
Сообщения: 403
Зарегистрирован: 11 июн 2017, 18:47
Решено: 7
Благодарил (а): 27 раз
Поблагодарили: 73 раза

Иморт txt в odt через bash

Сообщение madesta » 03 июн 2019, 19:56

Ара Магеддон писал(а):
03 июн 2019, 15:02
Вот тут в первом же ответе все есть: https://askubuntu.com/questions/998167/ ... e-terminal
Прошёл по ссылке, установил пакет wordgrinder.

Всё получилось. Проверял с файлами txt и odt не одинакового содержания. Один из txt в odt, а второй из odt в txt.

Выхлоп по теме:

minter@H-3:~$ wordgrinder -c /home/minter/scripts/temp/proba.txt /home/minter/scripts/temp/proba.odt
wordgrinder: Importing...
wordgrinder: Exporting...
minter@H-3:~$

Аватара пользователя

rogoznik
Сообщения: 5852
Зарегистрирован: 27 июн 2017, 10:36
Решено: 63
Откуда: Нижний Тагил
Благодарил (а): 322 раза
Поблагодарили: 1067 раз

Иморт txt в odt через bash

Сообщение rogoznik » 04 июн 2019, 07:15

madesta, а воспользоваться

Код: Выделить всё

libreoffice --convert-to odt file_name.txt
и соответственно

Код: Выделить всё

libreoffice --convert-to txt file_name.odt
ИзображениеИзображение

Аватара пользователя

Автор темы
madesta
Сообщения: 403
Зарегистрирован: 11 июн 2017, 18:47
Решено: 7
Благодарил (а): 27 раз
Поблагодарили: 73 раза

Иморт txt в odt через bash

Сообщение madesta » 04 июн 2019, 19:19

darkfenix писал(а):
04 июн 2019, 07:15
libreoffice --convert-to txt file_name.odt
Тоже работает. Правда при проверке чисто терминальной командой очень беспокоили предупреждения выхлопа, почему и подумал, что не работает, так как в команду чего-то не включил:

~$ libreoffice --convert-to odt /home/minter/scripts/toSA/initial.txt

(soffice:12510): Gtk-WARNING **: 22:02:53.851: Theme parsing error: gtk.css:3872:45: Missing semicolon at end of color definition

(soffice:12510): Gtk-WARNING **: 22:02:53.851: Theme parsing error: gtk.css:3878:32: '' is not a valid color name


Но ... При применении libreoffice --convert-to odt файл на выходе имеет шрифт Liberation Mono 10, а при wordgrinder - serif 12, что лично для меня смотрится немного как "повприлекательнее". Хотя это лишь дело предпочтений и вкуса. Ниже привожу примеры.

Вид после libreoffice --convert-to
citata4.png
Вид после wordgrinder
citata3.png
Если бы я ещё не был таким тупым и соображал как в параметрах преобразования задать шрифт и его размер ... :cray2:
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Ара Магеддон
Сообщения: 216
Зарегистрирован: 07 дек 2018, 22:08
Решено: 9
Благодарил (а): 13 раз
Поблагодарили: 53 раза

Иморт txt в odt через bash

Сообщение Ара Магеддон » 04 июн 2019, 20:25

madesta писал(а):
04 июн 2019, 19:19
Правда при проверке чисто терминальной командой очень беспокоили предупреждения выхлопа
Можно попробовать добавить параметр --headless
madesta писал(а):
04 июн 2019, 19:19
как в параметрах преобразования задать шрифт и его размер ...
А это уже "фронт работы" для скриптов libreoffice.

Аватара пользователя

Автор темы
madesta
Сообщения: 403
Зарегистрирован: 11 июн 2017, 18:47
Решено: 7
Благодарил (а): 27 раз
Поблагодарили: 73 раза

Иморт txt в odt через bash

Сообщение madesta » 05 июн 2019, 13:29

Ара Магеддон писал(а):
04 июн 2019, 20:25
Можно попробовать добавить параметр --headless
В терминале предупреждения исчезли:

minter@H-3:~$ soffice --headless --convert-to odt /home/minter/scripts/toSA/initial.txt
convert /home/minter/scripts/toSA/initial.txt -> /home/minter/initial.odt using filter : writer8
minter@H-3:~$

Вернуться в «Программирование, скриптинг, виртуализация»