Bagaimana cara mengekstrak teks dari dokumen MS Office di Linux?

18

Saya perlu cara untuk mengekstrak teks dari semua jenis dokumen MS Office (Word, Excel, Powerpoint), di Linux. Saya membayangkan bahwa mungkin ada beberapa pendekatan berbeda untuk mencapai ini, seperti skrip Bash atau Python, atau mengubahnya menjadi PDF dan kemudian mengekstraksi teks menggunakan alat seperti pdftotext.

Sepertinya ini mungkin persyaratan biasa. Apakah ada prosedur atau alat yang mapan untuk melakukannya dengan mudah?

Phyo Arkar Lwin
sumber

Jawaban:

16

Catdoc dapat mengonversi doc, xls & ppt ke teks. Opsi kedua adalah wvWare .

Untuk lebih banyak manfaat, periksa http://www.linux.com/archive/articles/52385 untuk kata-kata dan penutup teks

nahar
sumber
Catdoc! Itulah yang saya cari! Apakah ini juga berfungsi untuk ODF?
Phyo Arkar Lwin
Baru saja googled & mendapat stosberg.net/odt2txt . tidak pernah mencobanya, sepertinya berhasil.
nahar
keren Terimakasih. catdoc ok tapi tidak bisa mengkonversi xls, ppt untuk menguji, saya menggunakan xls2csv dan apache-tika untuk mereka. Periksa mereka!
Phyo Arkar Lwin
@nahar, odt2txt hanya berfungsi pada format odt, bukan ms doc.
Allen
1
hebat, catdoc memberi saya kesalahan segmentasi
fotanus
8

Saya akhirnya menemukan alat yang sempurna untuk mem-parsing dokumen skrip, ini adalah apache-tika, ia dapat mem-parsing gazillion format non-teks menjadi teks yang sangat keren!

Dapatkan Apache Tika di sini:

http://tika.apache.org/

(Pengguna Mac Homebrew: brew install tika)

Antarmuka baris perintah berfungsi seperti ini:

tika --text something.docx > something.txt

Phyo Arkar Lwin
sumber
+1: Apache Tika adalah proyek open source yang serius, juga berfungsi di Windows, bekerja dari baris perintah, memiliki GUI dengan drag and drop, membuka apa saja (Word, Excel, PowerPoint, PDF, svg), mengekstrak metadata dari dokumen juga. Setelah mencoba sebagian besar alat di atas, Apache Tika adalah apa yang saya cari. Ini harus menjadi jawaban yang diterima (saya tidak tahu apakah Anda dapat menerima jawaban Anda sendiri)
user2518618
2
lakukan, tanpa malu-malu ...: D
Phyo Arkar Lwin
7

Abiword dapat dikonversi dari baris perintah di antara format file apa pun yang diketahuinya.

Konversi dari Word ke teks biasa:

abiword --to=txt myfile.doc

Buat pdf dari file Word:

abiword --to=pdf myfile.doc

Dan seterusnya. Hasil dalam kasus ini adalah myfile.txt atau myfile.pdf. Jika Anda ingin menentukan nama output, Anda juga dapat melakukannya:

abiword --to=txt --to-name=output.txt myfile.doc

Konversi ODT ke Word:

abiword --to=doc myfile.odt

Konversi Kata ke ODT:

abiword --to=odt myfile.doc

Dalam keadilan untuk jawaban lain, perlu dicatat bahwa AbiWord menggunakan wvWare untuk menangani dokumen Word, tetapi bahkan situs wvWare merekomendasikan untuk menggunakan AbiWord sebagai gantinya untuk sebagian besar konversi.

Saya benci pengolah kata. Ini adalah alasan utama saya menginstal AbiWord.

Anda mungkin juga tertarik pada unoconv , yang merupakan alat serupa yang mendukung format yang dikenal OpenOffice (yang akan mencakup spreadsheet dan sejenisnya), tetapi saya tidak punya pengalaman dengannya secara pribadi.

luar biasa
sumber
Untuk dokumen .docx itu kacau: S Tapi solusi yang bagus untuk .doc
Warface
3

Dengan LibreOffice yang dapat Anda lakukan:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt
Dorian
sumber
4
Anda dapat menggunakan filter Teks untuk mengkonversi ke txt: libreoffice --invisible --convert-to txt: File teks
Gagaro
0

Anda dapat menggunakan CUPS (printer virtual) dan dengan menggunakan ld.

ukanth
sumber
Menarik, bisakah itu mengkonversi barang yang bisa dicetak menjadi PDF? Bisakah Anda menunjukkan saya dan contoh melakukan itu untuk Doc atau Xls?
Phyo Arkar Lwin
0

wv adalah salah satu opsi dan IIRC OpenOffice dapat dikatakan dari baris perintah untuk mengekspor sebagai pdf dan keluar.

PTman
sumber
unoconv tampaknya menjadi alat terkait OpenOffice yang tidak dapat saya ingat.
ptman
0

Jika Anda ingin menggunakan Apache Tika dalam proyek Python, silakan periksa posting blog ini .

qris
sumber
0

1.doc catdoc atau antiword untuk mengkonversi file doc Anda dapat menggunakan perintah catdoc file.doc> file atau antiword file.doc> file berikut

  1. docx docx2txt

  2. pdf emacs file.pdf file ctrl-x ctrl-s

Linuxan
sumber
(1) Catdoc diusulkan dalam jawaban yang diposting dalam waktu satu jam dari pertanyaan, hampir tiga tahun yang lalu. Mengapa Anda mengulanginya? (2) Di mana antiword dapat diperoleh? (3) Apa arti bagian bawah jawaban Anda?
Scott
-1

Docsplit adalah alat yang sempurna untuk mengekstraksi teks dari pdf. Itu permata ruby. Jadi Anda harus menginstal ruby ​​dan gem di sistem linux Anda sebelum menggunakan perintah docsplit.

Jika sistem Anda tidak memiliki ruby ​​dan permata, silakan ikuti instruksi.

Anda harus root untuk menginstal perangkat lunak (dengan asumsi Anda ingin itu tersedia untuk semua pengguna).

Instal ruby ​​di linux: yum install ruby
Instal gem, silakan unduh paket permata terbaru, lalu ikuti instruksi

tar xzf rubygems-xxxx.tgz
cd rubygems-xxxx
ruby setup.rb

Sekarang RubyGems terinstal, Anda harus memiliki perintah gem (gem adalah perintah yang digunakan untuk berinteraksi dengan sistem paket RubyGems). Uji dengan menjalankan:

daftar permata

Sekarang, lanjutkan ke langkah berikutnya, untuk menginstal permata docsplit, silakan kunjungi situs berikut. http://documentcloud.github.com/docsplit/

Tuan hitam
sumber
Ini adalah kebalikan dari apa yang diminta OP.
CarlF