Как конвертировать .doc или .docx в .pdf


18

Мне нужно конвертировать пакет .docили .docxфайлы .pdfв терминал, не используя графический интерфейс.

Было бы полезно, если бы я мог обрабатывать несколько файлов.

Я также хотел бы сохранить как можно больше метаданных.



Лучший ответ - установить другое приложение и использовать «принтер PDF». Что не так с использованием метода CLI или я потеряю метаданные
— Ringtail

Я не говорил, что с oowriter, gscan2pdf или любым другим методом GUI что-то не так. Я искал CLI, а затем намеревался включить его в .bashrc, чтобы все pdf ~/some_.docx, вот и все. Спасибо за предложение.
— Ringtail

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

У меня нет windows, поэтому тестдок скачать отсюда

www.mltweb.com/prof/testdoc.doc


libreofice выдает ошибки, используя этот метод, жалуется на отсутствие /home/user/documents/test.docx blah
— Ringtail

какую команду вы использовали? У вас есть test.docx?
— Пантера

1
Работает идеально для меня! Остерегайтесь использования символа «пробел» из командной строки ... Когда вы доберетесь до символа пробела, просто нажмите «tab»;)
— Pitto

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

--headless предотвратит открытие Libreoffice сотен файлов и, в конечном итоге, сбой, если вы попробуете это с каталогами, содержащими много файлов .doc


0

На мой взгляд, лучший способ с unoconv.

Сначала установите пакет:

sudo apt install unoconv

а затем преобразовать в PDF с помощью этой команды:

unoconv -f pdf XXYY.docx

(Замените XXYY.docxна имя вашего файла.)


Причины, по которым вы бы выбрали unoconv среди других вариантов?
— горбатый
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.