Adakah yang tahu cara mengonversi ODT
file (LibreOffice) PDF
?
libreoffice
pdf
openoffice.org
SoftTimur
sumber
sumber
Jawaban:
Cukup buka dokumen dengan kantor gratis dan pilih Ekspor sebagai PDF ... :
Untuk solusi baris perintah ada unoconv yang mengkonversi file dari baris perintah:
Catatan: Hanya mulai dari Ubuntu 11.10 unoconv tergantung pada Libre Office. Versi unoconv sebelumnya (dari Ubuntu <= 11.04) bergantung pada Open Office (tetapi juga akan berjalan dengan Libre Office).
sumber
unoconv
, ini luar biasa!unoconv: Cannot find a suitable office installation on your system.
, karena itu tidak dapat digunakan :(Anda juga dapat menggunakan baris perintah
libreoffice
untuk tujuan Anda. Itu memberi Anda keuntungan dari konversi batch. Tetapi file tunggal juga dimungkinkan. Contoh ini mengonversi semua file ODT di direktori saat ini ke PDF:Dapatkan informasi lebih lanjut tentang opsi baris perintah dengan:
sumber
--env:UserInstallation=file:///path/to/some/directory
.unoconv
juga. Misalnya saya menggunakan garis denganunoconv -f pdf *.ppt
sukses.Berikut adalah beberapa detail tentang metode "non-GUI".
Anda dapat menggunakan metode ini tidak hanya untuk mengkonversi file ODT ke PDF. Ini juga akan berfungsi untuk file MS Word DOCX (ini akan bekerja sebaik LibreOffice dapat menangani ODT tertentu), dan, secara umum semua jenis file yang dapat dibuka LibreOffice.
Saya tidak berpikir bahwa ada biner yang dinamai
libreoffice
sebagai salah satu jawaban lain yang disarankan. Namun, adasoffice(.bin)
- biner yang dapat digunakan untuk memulai LibreOffice dari baris perintah. Biasanya terletak di/usr/lib/libreoffice/program/
; dan sangat sering, symlink/usr/bin/soffice
menunjuk ke lokasi itu.Kemudian, dalam kebanyakan kasus, parameternya
--headless --convert-to pdf
tidak memadai. Itu harus:Pastikan untuk mengikuti kapitalisasi ini dengan tepat!
Selanjutnya, perintah tidak akan berfungsi jika sudah ada instance GUI LibreOffice dan berjalan pada sistem Anda. Ini disebabkan oleh bug # 37531, yang dikenal sejak 2011 . Tambahkan parameter tambahan ini ke perintah Anda:
Ini akan menciptakan lingkungan baru yang terpisah yang dapat digunakan oleh instance LO tanpa kepala yang kedua tanpa mengganggu instance LO GUI pertama yang berjalan yang dimulai oleh pengguna yang sama.
Juga, pastikan bahwa
--outdir /pdf
Anda menentukan memang ada, dan bahwa Anda memiliki izin tertulis untuk itu. Atau, lebih baik gunakan dir output yang berbeda. Bahkan jika itu hanya untuk putaran pengujian dan debugging pertama:Karenanya:
Ini berfungsi untuk saya di Mac OS X Yosemite 10.10.5 dengan LibreOffice v5.1.2.2 (menggunakan jalur spesifik saya untuk biner
soffice
yang akan berbeda pada Ubuntu ...). Ini juga berfungsi pada Debian Jessie 8.0 (using path/usr/lib/libreoffice/program/soffice
). Maaf, tidak dapat mengujinya di Ubuntu sekarang ....Jika semua ini tidak berhasil, ketika Anda mencoba memproses DOCX:
Mungkin ada masalah dengan file DOCX spesifik yang Anda coba perintah dengan ... Jadi buat dokumen DOCX yang sangat sederhana terlebih dahulu. Gunakan LibreOffice sendiri untuk ini. Tulis "Halo Dunia!" di halaman yang kosong. Simpan sebagai DOCX.
Coba lagi. Apakah ini berfungsi dengan DOCX sederhana?
Jika lagi tidak berhasil, ulangi langkah 7, tetapi simpan sebagai ODT saat ini.
Ulangi langkah 8, tetapi pastikan untuk referensi ODT saat ini.
Terakhir: Gunakan jalur lengkap ke
soffice
, ke,soffice.bin
danlibreoffice
dan jalankan masing-masing dengan-h
parameter:Bandingkan mereka dengan baris perintah yang Anda gunakan:
Sebagai perbandingan, output saya sendiri (Mac OS X) ada di sini:
Tambahkan satu argumen lagi ke baris perintah Anda untuk menegakkan penerapan filter input saat
soffice
membuka file DOCX Anda:atau
sumber
Script Nautilus
Script ini menggunakan libreoffice untuk mengonversi file yang kompatibel dengan LibreOffice ke PDF.
Untuk instruksi instalasi lihat di sini: Bagaimana saya bisa menginstal skrip Nautilus?
sumber
Catatan: Saya memutuskan untuk menghapus jawaban saya dari pertanyaan ini dan memposting versi modifikasi di sini ketika saya menyadari bahwa
unoconv
itu tidak menanganipsw
file sama sekali, dan tidak berhasil mengubahnya ke format lain. Mungkin juga ada masalah dengandocx
danxlsx
format.Namun,
Libreoffice
sepenuhnya mendukung banyak jenis file; dokumentasi lengkap tersedia di situs resmi, yang merinci format input dan output yang valid.Anda bisa menggunakan
libreoffice
utilitas konversi baris perintah atau unoconv , yang tersedia di repositori. Saya merasaunoconv
sangat berguna, dan mungkin itulah yang Anda inginkan. Meskipun Takkat telah disebutkan secara singkatunoconv
, saya pikir akan bermanfaat untuk memberikan lebih banyak detail dan konversi batch satu-liner.Menggunakan terminal yang Anda bisa
cd
ke direktori yang berisi file Anda dan kemudian batch mengkonversi semuanya dengan menjalankan satu-liner seperti ini:(Baris satu ini adalah modifikasi dari naskah terjemahan saya yang ditampilkan dalam jawaban ini .)
Jika nanti Anda ingin menggunakan format file lain, cukup gantikan
odt
danpdf
untuk format input dan output yang didukung lainnya. Anda dapat menemukan format yang didukung untuk jenis file dengan memasukkanunoconv -f odt --show
. Untuk mengonversi penggunaan satu file, misalnyaunoconv -f pdf myfile.odt
,.Informasi lebih lanjut tentang dan opsi untuk program ini dapat ditemukan dengan memasukkan di terminal
man unoconv
atau dengan pergi ke halaman manual Ubuntu secara online .sumber
Script Nautilus lain
Nautilus Script yang sangat sederhana dan ringan ini digunakan
unoconv
untuk mengonversi file terpilih yang kompatibel dengan LibreOffice ke format PDF:sumber
Saya menambahkan jawaban baru, karena baru-baru ini serangkaian jalur konversi baru dibuka oleh Pandoc untuk mendapatkan kemampuan membaca file ODT.
Ketika Pandoc membaca dalam format file, itu mengubahnya menjadi format internal, "asli" (yang merupakan bentuk JSON).
Dari bentuk aslinya, ia kemudian dapat mengekspor dokumen ke seluruh jajaran format lain. Tidak hanya PDF, tetapi juga DocBook, HTML, EPUB, DOCX, ASCIIdoc, DokuWiki, MediaWiki dan yang lainnya ...
Karena di sini format output yang diinginkan adalah PDF, kami memiliki pilihan lain untuk jalur yang berbeda, disediakan oleh apa yang disebut Pandoc sebagai mesin pdf . Berikut adalah daftar mesin PDF yang tersedia saat ini (berlaku untuk Pandoc v2.7.2 dan yang lebih baru - versi sebelumnya hanya dapat mendukung daftar yang lebih kecil):
pdflatex: Ini membutuhkan LaTeX untuk diinstal selain Pandoc.
xelatex: Ini membutuhkan XeLaTeX untuk diinstal selain Pandoc (juga tersedia sebagai paket tambahan untuk distribusi TeX umum ).
konteks: Ini membutuhkan ConTeXt diinstal selain Pandoc; ConTeXt tersedia sebagai paket tambahan untuk sebagian besar distribusi TeX umum ).
lualatex: Ini membutuhkan LuaTeX untuk diinstal selain Pandoc (juga tersedia sebagai paket tambahan untuk distribusi TeX umum ).
pdfroff: Ini membutuhkan GNU Roff untuk diinstal selain Pandoc.
wkhtml2pdf: Ini mengharuskan wkhtmltopdf diinstal selain Pandoc.
pangeran: Ini membutuhkan PrinceXML untuk diinstal selain Pandoc.
weasyprint: Ini membutuhkan weasyprint untuk diinstal selain Pandoc.
Ada beberapa mesin PDF yang lebih banyak dan lebih baru sekarang diintegrasikan ke dalam Pandoc, yang saya belum pernah gunakan sendiri dan yang saat ini saya tidak dapat menjelaskan secara lebih rinci: tektonik dan latexmk .
PERINGATAN: Jangan berharap bahwa tampilan dokumen asli Anda akan identik di semua output PDF dengan pratinjau cetak atau ekspor PDF ODT! Pandoc, ketika mengkonversi tidak mempertahankan tata letak , itu mempertahankan isi dan struktur dokumen: paragraf tetap paragraf, kata-kata yang ditekankan tetap ditekankan, heading tetap heading, dll. Tetapi tampilan keseluruhan dapat berubah secara signifikan.
Contoh perintah
pdflatex:
XeLaTeX:
LuaLaTeX:
Konteks:
GNU troff:
wkhtmltopdf:
PrinceXML:
weasyprint:
Perintah di atas adalah yang paling mendasar untuk konversi. Tergantung pada mesin PDF yang Anda pilih, mungkin ada banyak opsi lain yang mungkin untuk mengontrol tampilan file PDF keluaran. Misalnya, parameter tambahan berikut dapat ditambahkan ke semua jalur yang merutekan melalui LaTeX:
yang akan menggunakan ukuran halaman khusus (sedikit lebih besar dari DIN A4) dengan margin 2cm di tepi atas dan 1,12cm di tiga tepi lainnya).
sumber