Як створити слово документ у docx формі з терміналом


13

Я знаю, що легко можу створити docx-файл з libreOffice, але просто хочу дізнатися більше про використання bash. Хтось може пояснити, чи можливо це навіть із терміналом? Командна сенсорна робота виконує гідну роботу, але не визначає жодного розширення.


3
Розширення файлів насправді не мають значення в Ubuntu, тому якщо у touch file.docxвас є файл docx. :) Що робить docx-файл docx-файлом для вас?
десерт

6
touchкоманда дозволяє вказати розширення; touch foo.docx, але це створить порожній файл. Це те, чого ти хочеш? В іншому випадку loffice --convert-to docx foo.odtбуде працювати в терміналі.
waltinator

4
@dessert docx - це формат файлу: Office Open XML
wjandrea

3
"Хтось може пояснити, чи можливо це навіть із терміналом?" FYI: odt, docx, xlsx - це контейнери. Ви можете згорнути їх і мати читану людиною версію. Добре читається по-людськи ... це XML і великий.
Rinzwind

3
Якщо ваша мета - вивчити баш, це не баш операція. Використання сторонніх інструментів у bash не використовує bash. Якщо ви хочете навчитися баш, спробуйте поєднати 2 чи більше окремих інструментів у щось корисне. Для цього вам навіть не потрібен баш.
Брайям

Відповіді:


29

Відповідно до цієї теми в Unix & Linux, ви можете використовувати Pandoc .

Знімаючи документацію , я думаю, ви можете використовувати її так:

echo "Hello" | pandoc -o out.docx

Тоді out.docxбуде файл docx з "Hello" у ньому.


Також я знайшов цей модуль Python: python-docx


6
+1 TIL про Pandoc, який насправді може перетворити тонну розмітних форматів один в одного.
десерт

20

LibreOffice поставляється з інструментом командного рядка, який називається, sofficeякий libreofficeвказує на нього, цей інструмент має --convert-toопцію, яка дозволяє легко конвертувати файли так само, як робить програма GUI, наприклад:

libreoffice --convert-to docx file.txt

Це створює файл file.docxу форматі Text Open XML Text у поточному каталозі.

Приклад використання

$ echo some text > file.txt
$ libreoffice --convert-to docx file.txt 

convert /home/dessert/file.txt -> /home/dessert/file.docx using filter : Office Open XML Text
$ file file.docx 
file.docx: Microsoft OOXML
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.