Страница 1 из 1

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

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

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

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

Добавлено: 03 июн 2019, 16:53
rogoznik
Самое простое что придумал

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

cat file.txt > file.odt

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

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

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

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

Добавлено: 03 июн 2019, 18:11
rogoznik
Ара Магеддон писал(а):
03 июн 2019, 18:02
Не, так оно не работает :D
А так хотелось :-D

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

Добавлено: 03 июн 2019, 22:56
madesta
Ара Магеддон писал(а):
03 июн 2019, 18: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:~$

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

Добавлено: 04 июн 2019, 10:15
rogoznik
madesta, а воспользоваться

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

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

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

libreoffice --convert-to txt file_name.odt

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

Добавлено: 04 июн 2019, 22:19
madesta
darkfenix писал(а):
04 июн 2019, 10: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:

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

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

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

Добавлено: 05 июн 2019, 16:29
madesta
Ара Магеддон писал(а):
04 июн 2019, 23: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:~$