Cara mengonversi batch .doc atau .docx ke .pdf

18

Saya perlu mengonversi kumpulan .docatau .docxfile ke .pdfdalam terminal, tidak menggunakan GUI.

Akan sangat membantu jika saya dapat memproses banyak file sekaligus.

Saya juga ingin mempertahankan sebanyak mungkin meta-data.

Buntut cincin
sumber
Jawaban terbaik di sana adalah menginstal aplikasi lain dan menggunakan "printer pdf". Apa yang salah menggunakan metode CLI atau akankah saya kehilangan meta-data
Ringtail
Saya tidak mengatakan ada yang salah dengan oowriter, gscan2pdf atau metode GUI lainnya. Saya sedang mencari CLI kemudian saya bermaksud untuk memasukkannya ke dalam .bashrc sehingga saya bisa pdf ~/some_.docx, itu saja. Terima kasih untuk sarannya.
Ringtail
1
Lihat juga jawaban ini .
Takkat
@ Takkat - Jawaban itu membuatnya menjadi zona rangkap bagi saya.
RobotHumans

Jawaban:

28

lowriter dapat digunakan sebagai alat baris perintah (lowriter adalah bagian dari 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

Saya tidak punya windows, jadi unduh testdoc dari sini

www.mltweb.com/prof/testdoc.doc

Harimau kumbang
sumber
libreofice melempar kesalahan menggunakan metode ini, mengeluh tidak menemukan /home/user/documents/test.docx blah
Ringtail
perintah apa yang kamu gunakan? Apakah Anda memiliki test.docx?
Panther
1
Berfungsi sempurna untuk saya! Waspadalah terhadap penggunaan karakter "spasi" dari baris perintah ... Ketika Anda sampai ke karakter spasi cukup tekan "tab";)
Pitto
1
lowriter tidak mengonversi file docx dengan benar. Setidaknya tidak selalu.
Skeptical Jule
1
Ketika saya pertama kali mencoba lowriterperintah yang disarankan pada Ubuntu 12.04, itu membuka jendela splash dan membeku. Saya membunuhnya dengan Cc dan mencoba lagi tanpa DISPLAYvariabel. Kali ini pertama kali mencetak kesalahan tentang tampilan yang hilang, tetapi mengonversi dokumen tanpa masalah. Apakah itu perilaku yang diharapkan, bahwa perintah hanya dapat bekerja tanpa DISPLAYvariabel lingkungan?
kasperd
7

Saya menggunakan unoconv, yang mengubah semua format yang didukung oleh LibreOffice.

Francisco Dreyfuss
sumber
1
Hanya sebagai catatan: $ unoconv myfile.docx(itu menciptakan myfile.pdf)
tokland
3

Saya menggunakan skrip berikut:

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

--headless akan mencegah Libreoffice dari membuka 100-an file dan akhirnya macet jika Anda mencoba ini dengan direktori yang berisi banyak file .doc

Bruni
sumber
0

Menurut saya, cara terbaik adalah dengan unoconv.

Pertama instal paket:

sudo apt install unoconv

lalu konversikan ke pdf menggunakan perintah ini:

unoconv -f pdf XXYY.docx

(Ganti XXYY.docxdengan nama file Anda.)

pengguna882893
sumber
Alasan mengapa Anda memilih unoconv daripada opsi lain?
gatorback