Jak wsadowo przekonwertować .doc lub .docx na .pdf


18

Muszę wsadowo przekonwertować zestaw .doclub .docxpliki do .pdfterminala, nie używając GUI.

Byłoby pomocne, gdybym mógł przetwarzać wsadowo wiele plików.

Chciałbym również zachować jak najwięcej metadanych.



Najlepszą odpowiedzią jest zainstalowanie innej aplikacji i użycie „drukarki pdf”. Co jest nie tak przy użyciu metody CLI lub stracę metadane
Ringtail

Nie powiedziałem, że coś jest nie tak z Oowriter, gscan2pdf lub jakąkolwiek inną metodą GUI. Szukałem CLI, a następnie zamierzam włączyć go do .bashrc, aby móc pdf ~/some_.docx, to wszystko. Dzieki za sugestie.
Ringtail,

1
Zobacz także tę odpowiedź .
Takkat,

@Takkat - Ta odpowiedź przenosi mnie do zduplikowanej strefy.
RobotHumans

Odpowiedzi:


28

lowriter może być używany jako narzędzie wiersza poleceń (lowriter jest częścią 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

Nie mam okien, więc pobierz testdoc stąd

www.mltweb.com/prof/testdoc.doc


libreofice zgłasza błędy przy użyciu tej metody, narzeka na brak znalezienia /home/user/documents/test.docx blah
Ringtail

jakiego polecenia użyłeś? Czy masz test.docx?
Panther

1
Działa idealnie dla mnie! Uważaj na używanie znaku „spacja” z wiersza poleceń ... Gdy dojdziesz do znaku spacji, po prostu naciśnij „tab”;)
Pitto,

1
lowriter nie konwertuje poprawnie plików docx. Przynajmniej nie zawsze.
Sceptyczny Jule,

1
Kiedy po raz pierwszy wypróbowałem twoje sugerowane lowriterpolecenie na Ubuntu 12.04, otworzyło się okno powitalne i zamarło. Zabiłem go za pomocą Cc i spróbowałem ponownie bez DISPLAYzmiennej. Tym razem po raz pierwszy wydrukował błąd dotyczący braku wyświetlania, ale przekonwertował dokument bez żadnych problemów. Czy oczekuje się zachowania, że ​​polecenie może działać tylko bez DISPLAYzmiennej środowiskowej?
kasperd


3

Używam następującego skryptu:

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

--headless uniemożliwi Libreoffice otwieranie 100 plików i awarię, jeśli spróbujesz tego z katalogami zawierającymi wiele plików .doc


0

Moim zdaniem najlepszym sposobem jest unoconv.

Najpierw zainstaluj pakiet:

sudo apt install unoconv

a następnie przekonwertować na pdf za pomocą tego polecenia:

unoconv -f pdf XXYY.docx

(Zamień XXYY.docxna nazwę pliku.)


Powody, dla których wybrałeś unoconv zamiast innych opcji?
gatorback
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.