Як пакетне перетворення .doc або .docx у .pdf


18

Мені потрібно пакетне перетворення набору .docабо .docxфайлів .pdfу термінал, не використовуючи GUI.

Було б корисно, якби я міг обробляти декілька файлів.

Я також хотів би зберегти якомога більше метаданих.



Найкраща відповідь там - встановити інший додаток і використовувати "принтер у форматі PDF". Що не так у використанні методу CLI або я втрачу метадані
Ringtail

Я не сказав, що щось не так з oowriter, gscan2pdf або будь-яким іншим методом GUI. Я шукав CLI, то маю намір включити його до .bashrc, щоб я міг pdf ~/some_.docx, ось і все. Дякую за пропозицію.
Рінгтейл

1
Дивіться також цю відповідь .
Таккат

@Takkat - Ця відповідь потрапляє в зону дублювання для мене.
RobotHumans

Відповіді:


28

lowriter може використовуватися як інструмент командного рядка (lowriter - це частина LibreOffice)

lowriter --convert-to pdf *.doc
convert /home/bodhi/Documents/testdoc2.doc -> /home/bodhi/Documents/testdoc2.pdf using writer_pdf_Export
convert /home/bodhi/Documents/testdoc.doc -> /home/bodhi/Documents/testdoc.pdf using writer_pdf_Export

evince testdoc.pdf

У мене немає вікон, тому скачайте тут тестдок

www.mltweb.com/prof/testdoc.doc


libreofice викидає помилки за допомогою цього методу, скаржиться на те, що не знайшли /home/user/documents/test.docx blah
Ringtail

яку команду ти використав? У вас є test.docx?
Пантера

1
Для мене ідеально підходить! Остерігайтеся використання символу "пробіл" з командного рядка ... Коли ви потрапите на пробіл символу, просто натисніть "вкладку";)
Пітто

1
lowriter не конвертує файли docx правильно. Принаймні, не завжди.
Скептичний Джул

1
Коли я вперше спробував запропоновану вами lowriterкоманду на Ubuntu 12.04, вона відкрила вікно сплеску і застигла. Я вбив його за допомогою Cc і спробував знову без DISPLAYзмін. Цього разу він вперше надрукував помилку щодо відсутнього відображення, але конвертував документ без проблем. Чи очікується поведінка, що команда може працювати лише без DISPLAYзмінної середовища?
kasperd


3

Я використовую такий сценарій:

for f in *.doc
do
lowriter --headless --convert-to pdf "$f"
done

- без голівки не дозволить Libreoffice відкрити 100 файлів і врешті-решт вийде з ладу, якщо ви спробуєте це з каталогами, що містять багато файлів .doc


0

На мою думку, найкращий спосіб - це с unoconv.

Спочатку встановіть пакет:

sudo apt install unoconv

а потім перетворити в pdf за допомогою цієї команди:

unoconv -f pdf XXYY.docx

(Замініть XXYY.docxім'я вашого файлу.)


Причини, чому ви б обрали unoconv над іншими варіантами?
gatorback
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.