Saya mencoba untuk mengkonversi file docx ke pdf di server Ubuntu saya menggunakan baris perintah tetapi tidak ada konverter yang saya coba sejauh ini tampaknya mengkonversi file Word 2007/2010/2013 dengan benar.
Konverter daring yang tampak dapat mengelolanya tanpa masalah tetapi layanan Web bukanlah suatu pilihan karena file-file tersebut berisi data sensitif. Untuk tes saya menggunakan file Word 2007 ini karena berisi beberapa elemen penting (rumus, grafik vektor, gambar, daftar, dll.). Saya menguji alat-alat berikut (sebagian dari posting ini ):
lowriter
(LibreOffice Writer) - output salah (lingkaran seharusnya ada di halaman terakhir, bukan yang pertama)
unoconv
- sama seperti LibreOffice karena tidak menggunakan konverternya sendiri. Konversi ke odt pertama dan kemudian pdf mengacaukan file sepenuhnya.
abiword --to=pdf filename.doc
- salah dan tidak lengkap (banyak elemen tidak ada):
OpenOffice Writer - hasil yang sama seperti untuk abiword
wvPDF
- macet dengan pesan kesalahan berikut:
~ $ wvPDF 2007_Office_DocEncryption.docx test.pdf
Direktori saat ini: / home / webmt / dev / test /
Beberapa masalah menjalankan lateks.
Periksa Kesalahan di test.log
Melanjutkan ...
Konversi ke dvi gagal
Apakah ada cara untuk mengkonversi file docx ke PDF di Linux dengan benar? Ini juga akan membantu saya jika saya tahu itu bekerja untuk seseorang dengan salah satu program yang saya sebutkan. Saya akan memulai hadiah segera setelah SE mengizinkan saya.
ps Saya menggunakan server Ubuntu 12.04
Kesimpulan :
Saya harus menyimpulkan bahwa bagi saya, seperti untuk saat ini, tidak ada alat yang dapat diandalkan yang akan bekerja dengan format MS Word baru dan semua jenis elemen di Ubuntu dan membuat salinan file docx satu-ke-satu. Tidak ada alat yang saya uji yang dapat mengkonversi file sampel dengan benar. Karena saya akan menghadapi versi / konten dokumen yang sangat berbeda dan kualitas output memiliki salah satu prioritas tertinggi, saya akhirnya akan melakukan konversi dengan menggunakan macro VB di Word pada server Windows yang terhubung ke Linux saya.
Saya akan mengatur posting mendapatkan hasil terbaik sebagai jawaban yang diterima. Namun, hadiah itu dimaksudkan untuk solusi dengan konversi yang benar-benar benar. Terima kasih untuk semuanya, lagi.
sumber
Jawaban:
Jawaban ini melewati semua tes, tetapi bagan alur satu di dokumen tes Anda.
Mengapa ini lebih baik daripada metode lain yang disarankan sejauh ini?
Saya telah menguji metode lain yang disarankan sejauh ini (terutama
oowriter
danebook-convert
), tetapi mereka lulus tes lebih sedikit daripada metode ini. Theebook-convert
Metode strip margin dan bagian dari teks-teks dari dokumen.Metode ini bahkan menghasilkan hasil yang lebih baik daripada konverter profesional sebagai rainbowpdf .
Saya juga mencoba mengonversinya menjadi html, tetapi gambar dengan kuadrat dalam lingkaran dan diagram alur salah.
Mengapa tes diagram alir gagal?
Tampaknya libreoffice dan unoconv memiliki beberapa masalah dengan merender diagram alur yang ada dalam file .docx dengan benar. Ini mungkin karena itu dibuat menggunakan seni pintar di Microsoft Office. Itulah masalahnya. Itu adalah bug yang juga dibahas di utas ini . Informasi tekstual dan visual hadir dalam pdf yang dihasilkan dari metode di atas seperti yang Anda lihat (meskipun saya harus memilih teks).
Warna font, misalnya, tidak dibaca dengan benar dan beberapa baris terlalu panjang. Saya tidak mengetahui adanya solusi linux yang dapat menampilkan seni pintar dengan benar. :(
Ini juga alasan mengapa semua
print
solusi yang diposting di halaman ini tidak akan memuaskan Anda.Pendeknya
Singkatnya, apa yang Anda lakukan sangat sulit dan saat ini tidak ada solusi yang akan memuaskan Anda sepenuhnya. Tumit achilles dari konversi docx2pdf adalah seni yang cerdas. Jika Anda dapat hidup tanpa itu atau jika Anda dapat menemukan cara untuk melihat seni pintar dan mengubahnya entah bagaimana menjadi gambar, Anda dapat mencapai tujuan Anda.
Opsi 1. Paksa pengguna Anda untuk menghadapi masalah
Ini adalah solusi yang sangat tidak tepat. Pembuat konten Anda dapat menyimpan seni cerdas mereka sebagai jpg seperti yang dijelaskan di halaman bantuan kantor dan karenanya konversi mungkin dilakukan di server Anda.
Opsi 2. Retas jalan Anda di sekitar masalah
Jika diagram alir sering sangat mirip dan tergantung pada seberapa baik pengembang Anda, Anda dapat mencoba dan mengonversi seni pintar secara terpisah. Anda bisa, mengekstrak file drawing1.xml dari .docx kumpulan dokumen dan kemudian menggunakan pemrosesan bahasa alami dan beberapa peretasan gila untuk membangun kembali seni cerdas. Misalnya, Anda harus mengacaukan xml jenis ini:
Atau sebagai solusi minimal Anda setidaknya mengekstrak teks (
<a:t>
?) Dari file dan menyimpannya dengan cara yang lebih mudah. Atau jika diagram alir pdf Anda sama, Anda bisa menulis skrip untuk mengubah warna teks dan panjang baris dalam xml itu sendiri. Kemudian Anda dapat menjalankandoc2pdf
dan Anda akan memiliki file yang pada dasarnya memiliki semua info yang benar, tetapi mungkin tidak memformat. Dalam hal diagram alir Anda mungkin juga ingin menyertakan beberapa pemformatan, karena pemformatan adalah bagian dari info.Opsi 3. Gunakan layanan pihak ketiga
Saya telah melakukan beberapa penelitian lebih lanjut beberapa hari terakhir dan saya telah menemukan layanan yang melakukan konversi dengan sempurna: zamzar . Zamzar memungkinkan Anda untuk mengunggah file docx dan kemudian mengirimkan tautan kepada Anda melalui email. Mereka juga memiliki layanan (membayar?) Di mana Anda dapat mengirim file apa pun ke [email protected] dan kemudian mendapatkan file yang dikonversi kembali di kotak masuk Anda. Anda dapat dengan mudah membangun sistem di sekitar tempat ini untuk mengirim file secara otomatis dan menguraikannya dari email. Ini bukan pekerjaan yang banyak dan hasil akhirnya adalah yang terbaik.
Catatan
Saya sebenarnya telah meluangkan waktu untuk menguji berbagai metode yang diusulkan pada halaman ini. Harap cadangkan semua komentar dengan tes yang sebenarnya.
sumber
lowriter
sekaranglowriter --convert-to pdf input_file.docx
. Penggunaan--pt pdf
akan gagal secara diam-diam.Ini adalah solusi baris perintah yang berfungsi dengan baik --- tetapi menggunakan perangkat lunak berpemilik.
Saya pikir masalah mendasarnya adalah format Microsoft Word sepenuhnya dapat dimengerti hanya untuk Microsoft Word (bahkan di sana, ada perbedaan antar versi --- ada file Word dari masa lalu yang terbuka dengan format yang salah di versi yang lebih baru). Semua solusi lainnya adalah perkiraan dan peretasan, sehingga mereka akan berfungsi atau tidak tergantung pada file.
Jadi untuk memastikan Anda perlu memproses file .docx Anda dengan instalasi Microsoft Word (dan ya, saya pikir itu pilihan mereka dan itu adil. Jika Anda tidak ingin menggunakan Word, jangan gunakan itu --- saya pergi dengan --- saya pergi dengan LaTeX untuk pekerjaan saya, tetapi sulit untuk meyakinkan seluruh dunia di sekitar ...).
Saya menggunakan sejak lama Crossover untuk menjalankan Microsoft Office di Linux Desktop saya (1), merasa cukup berguna. Mungkin itu bekerja dengan anggur juga --- tidak pernah mencoba.
Saya melakukan konversi menggunakan konfigurasi ini:
1) Saya telah menginstal Crossover
2) Saya telah menginstal Microsoft Office versi saya di bawah Crossover
3) Di Microsoft Word, nonaktifkan "pencetakan latar belakang"
4) Saya telah
cups-pdf
menginstal printer dan dipilih sebagai printer default.5) Untuk melakukan konversi, jalankan (petunjuk di sini ):
6) File Anda yang dikonversi akan muncul di
~/PDF/
direktori.Dokumen Anda keluar hampir dengan sempurna (ada beberapa ketidaksejajaran pada jawaban # 2, yang ditampilkan di Office Word 2007 saat berjalan di bawah Crossover --- Saya tidak tahu apakah itu terkait dengan versi Windows saya).
Sekarang, masalahnya adalah antarmuka kata grafis akan muncul --- Saya tidak tahu bagaimana membuatnya "tanpa kepala". Opsi baris perintah untuk Word tidak membantu ...
(1) Saya sama sekali tidak terkait dengan Codeveawers --- hanya pengguna yang bahagia.
sumber
Saya juga memiliki masalah ini di masa lalu, tidak harus menggunakannya belakangan ini, jadi saya tidak tahu apakah itu masih mempengaruhi saya.
Adapun untuk menjawab pertanyaan:
Pertanyaan ini: Bagaimana mengonversi batch .doc atau .docx ke .pdf memberi alasan di komentar mengapa konversi Anda
lowriter
mungkin gagal:Jawaban pertanyaan ini juga mungkin dapat membantu:
Bagaimana saya bisa mengonversi file ODT ke PDF?
Anda akan lari
libreoffice --headless --convert-to pdf *.odt
. Anda bisa mendapatkan lebih banyak info tentang libreoffice dengan perintahman libreoffice
jika Anda membutuhkan bantuan untuk memahami atau mengubah perintah untuk bekerja.Namun, Anda tidak dapat memiliki LibreOffice terbuka pada saat itu, sesuai bug ini: https://bugs.freedesktop.org/show_bug.cgi?id=37531
Pertanyaan ini juga terkait Ubuntu, meskipun ada di SuperUser: https://superuser.com/questions/156189/how-to-convert-word-doc-to-pdf-in-linux
Jawaban pertama memiliki dua opsi, satu menggunakan CUPS dan membuat printer PDF, yang lainnya menggunakan LaTex, meskipun Anda mengatakan bahwa LaTex gagal.
Sedangkan untuk mengkonversi ke PDF melalui CUPS PDF Anda akan menjalankan
sudo apt-get install cups-pdf
diikuti olehoowriter -pt pdf your_word_file.doc(x)
. Ini mungkin membantu masalah oowriter Anda.Ini mungkin masalah dengan fakta bahwa Anda mencoba untuk mengkonversi ke PDF dari DOC / DOCX, ketika sebagian besar alat menggunakan ODT, karena mereka terkait dengan LibreOffice / OpenOffice / AbiWord. Dengan demikian, mereka gagal mencoba untuk mengubahnya dari format DOCX Microsoft atau dalam konversi ke ODT.
Ada beberapa bug dengan konversi dari .docx w. Seni Kata (versi disertakan):
https://bugs.freedesktop.org/show_bug.cgi?id=33072 - 3.3.0 rc 2 (usang saya percaya)
https://bugs.freedesktop.org/show_bug.cgi?id=63289 - 4.0.2.2
https://bugs.freedesktop.org/show_bug.cgi?id=62251 - 4.0.0.3
https://bugs.freedesktop.org/show_bug.cgi?id=65260 - Tidak ditentukan
Ini dari forum LibreOffice tentang konversi dari .doc dan agak .docx: http://en.libreofficeforum.org/node/5096 . Ini dari Januari 2013, jadi itu seharusnya berlaku.
Di luar semua ini, saya benar-benar tidak tahu. Semoga Anda menyelesaikan masalah Anda!
sumber
Jika Anda menginstal Libreoffice, Anda dapat mencoba mengonversi menggunakan itu. Cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:
Pilihan lain adalah menginstal Piala PDF .
Untuk melakukannya cukup tekan Ctrl+ Alt+ Tpada keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:
Kemudian buat printer baru, tetapkan sebagai printer file PDF, dan beri nama apa pun yang Anda inginkan, selama Anda tahu namanya, kemudian jalankan:
Dan file PDF Anda akan berada di
~/PDF
.sumber
Inilah kebenaran yang pahit: Solusi Office untuk Linux adalah kegagalan total! Saya telah menjadi pengguna GNU / Linux penuh waktu selama bertahun-tahun dan saya terus mencari dan mencoba berbagai solusi kantor, dari Open-Office lama, hingga Libre-Office, Abi-Word, dll ... Mereka semuanya gagal membantu saya melakukan pekerjaan kantor saya. Bahkan menjadi lebih buruk ketika datang ke bahasa non-Latin (bahasa kanan-ke-kiri seperti Persia, Arab, dll). Pengguna harus berjuang dengan perangkat lunak ini untuk menyelesaikan pekerjaannya! Dan kompatibilitas Microsoft Office tidak ada. Saya dapat berbicara berjam-jam tentang seberapa banyak saya telah mencoba dan mereka semua telah mengecewakan saya, tetapi ini bukan inti dari pertanyaan ini.
Saya juga mencoba menginstal dan menjalankan Microsoft Office menggunakan WINE, dan entah bagaimana berhasil tetapi tidak berhasil dengan baik dan sebagian besar macet ketika saya mencoba membuka file kantor saya.
LaTeX baik-baik saja, tetapi itu bukan solusi kantor. LaTeX adalah untuk pengaturan tipe, dan ini lebih seperti alat pro, dan tidak ada spread-sheet, atau presentasi.
Jadi apa solusinya?
Ini bukan solusi baris perintah. Satu-satunya solusi yang saya miliki selama bertahun-tahun, untuk menjaga saya tetap di dalam GNU / Linux OS saya dan juga menyelesaikan pekerjaan kantor saya, adalah dengan menggunakan instalasi Microsoft Windows minimal dalam mesin virtual (seperti VirtualBox) dan menginstal setelan Microsoft Office.
Ini mungkin kedengarannya tidak cantik, tetapi itu satu-satunya solusi yang bekerja dengan sempurna dan menyelamatkan saya dari pertempuran dengan solusi buruk-kantor di waktu berharga saya. Pada awalnya, saya sendiri berpikir ini bukan solusi yang baik, tetapi setelah gagal dengan yang lain dan melakukan hal-hal VM ini selama lebih dari 2 tahun, saya sangat senang dengan itu
:)
================================================== ==============================
CATATAN-1: Saya tidak mengiklankan produk Microsoft! Hanya berusaha membantu menyelesaikan masalah dan melanjutkan hidup.
CATATAN-2: Seperti yang ditekankan di atas, ini BUKAN solusi baris perintah. Jadi mengapa memposting jawabannya? Karena ini merupakan opsi YANG DIUJI dan BEKERJA DENGAN BAIK! Jika tidak ada solusi baris perintah KERJA yang tersedia (yang sangat saya duga adalah masalahnya), maka memiliki opsi ALTERNATIF lebih baik daripada opsi NO.
sumber
wine
bukannya mesin virtual?WINE
tidak berjalan dengan baik. Program tidak berfungsi seperti pada Windows (menunjukkan perilaku yang salah) dan juga sering crash!Berikut adalah beberapa aplikasi yang dapat Anda coba dan lihat apakah mereka berfungsi FF Multi Converter atau Anda dapat mencoba Kingsoft Office .
sumber
Instal Calibre dari Software Center atau Synaptic , dan atur output default ke PDF.
Dari prompt shell, lakukan
sumber
ValueError: No plugin to handle input format: docx
. Google tidak membantu yang ini jadi saya akan melaporkan bug.