Linux'ta MS Office belgelerinden metin nasıl çıkarılır?


18

Linux tüm MS Office belge türlerinden (Word, Excel, Powerpoint) metin ayıklamak için bir yol gerekir. Bunu gerçekleştirmek için Bash veya Python betiği veya PDF'ye dönüştürmek ve sonra pdftotext gibi bir araç kullanarak metni ayıklamak gibi birkaç farklı yaklaşım olabileceğini öngörüyorum.

Bu yaygın bir gereklilik olabilir gibi görünüyor. Bunu kolayca gerçekleştirmek için belirlenmiş bir prosedür veya araç var mı?

Yanıtlar:


16

Catdoc doc, xls ve ppt'yi metne dönüştürebilir. İkinci seçenek wvWare olacaktır .

Daha fazla araç için http://www.linux.com/archive/articles/52385 adresini kelime-metin dönüştürücüler ve


Catdoc! Aradığım şey bu! ODF için de çalışır mı?
Phyo Arkar Lwin

Sadece googled ve stosberg.net/odt2txt var . Hiç denemedim, işi yapıyormuş gibi görünüyor.
nahar

güzel teşekkürler. catdoc tamam ama xls dönüştürmek olamaz, test etmek için ppt, ben onlar için xls2csv ve apache-tika kullanın. onları kontrol et!
Phyo Arkar Lwin

@nahar, odt2txt ms belgesinde değil, yalnızca odt biçiminde çalışır.
Allen

1
harika, catdoc bana bölümleme hatası verir
fotanus

8

Sonunda belge ayrıştırma komut dosyası için mükemmel bir araç buldum, bu apache-tika, gazillion metin formatlarını çok serin metne ayrıştırabilir!

Apache Tika'yı buradan edinin:

http://tika.apache.org/

(Mac Homebrew kullanıcıları: brew install tika)

Komut satırı arabirimi şu şekilde çalışır:

tika --text something.docx > something.txt


+1: Apache Tika ciddi bir Açık kaynak projesidir, Windows'ta da çalışır, komut satırından çalışır, sürükle ve bırak ile bir GUI'ye sahiptir, her şeyi açar (Word, Excel, PowerPoint, PDF, svg), meta verilerini çıkarır belge de. Yukarıdaki araçların çoğunu denedikten sonra, aradığım şey Apache Tika. Bu kabul edilen cevap olmalıdır (kendi cevabınızı kabul edip edemeyeceğinizi bilmiyorum)
user2518618

2
yaptım, utanmadan ...: D
Phyo Arkar Lwin

7

Abiword , komut satırından bildiği herhangi bir dosya formatı arasında dönüştürebilir.

Word'den düz metne dönüştürme:

abiword --to=txt myfile.doc

Bir Word dosyasından pdf oluşturun:

abiword --to=pdf myfile.doc

Ve bunun gibi. Bu durumlarda sonuçlar myfile.txt veya myfile.pdf olur. Çıktı adını belirtmek isterseniz, bunu da yapabilirsiniz:

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

ODT'yi Word'e Dönüştür:

abiword --to=doc myfile.odt

Word'ü ODT'ye Dönüştür:

abiword --to=odt myfile.doc

Diğer cevaplara adil olmak gerekirse, AbiWord'un Word belgelerini işlemek için wvWare kullandığına dikkat edilmelidir, ancak wvWare ana sayfası bile çoğu dönüşüm için AbiWord kullanılmasını önermektedir.

Kelime işlemcilerden nefret ediyorum. AbiWord'u kurmamın ana nedeni budur.

Ayrıca ilginizi çekebilir OpenOffice (e-tablolar ve benzerleri dahil) bilir biçimlerini destekleyen benzer bir araç olan unoconv , ama ben şahsen onunla hiçbir deneyimim yok.


.Docx belgesi için berbat: S Ama .doc için güzel bir çözüm
Warface

3

LibreOffice ile şunları yapabilirsiniz:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt

4
Metin filtresini, txt'ye dönüştürmek için kullanabilirsiniz: libreoffice --invisible --convert-to txt: Metin dosyaları
Gagaro

0

Sen kullanabilirsiniz CUPS (sanal yazıcı) ve ld kullanarak.


İlginç, yazdırılabilir herhangi bir şeyi PDF'ye dönüştürebilir mi? Bana ve bunu Doc veya Xls için örnek gösterebilir misiniz?
Phyo Arkar Lwin

0

wv bir seçenektir ve IIRC OpenOffice komut satırından pdf olarak dışa aktarma ve çıkış için söylenebilir.


unoconv , hatırlayamadığım OpenOffice ile ilgili bir araç gibi görünüyor.
ptman


0

1.doc catdoc veya antiword doc dosyalarını dönüştürmek için aşağıdaki komutu kullanabilirsiniz catdoc file.doc> dosya veya antiword file.doc> dosya

  1. docx docx2txt

  2. pdf emacs dosyası.pdf ctrl-x ctrl-s dosyası


(1) Catdoc, neredeyse üç yıl önce sorunun bir saat içinde gönderilen bir cevapta önerildi. Neden tekrarlıyorsun? (2) Antikor nereden temin edilebilir? (3) Cevabınızın alt yarısı ne anlama geliyor?
Scott

-1

Docsplit, metni pdf'den ayıklamak için mükemmel bir araçtır. Bu yakut bir mücevher. Bu yüzden docsplit komutunu kullanmadan önce linux sisteminize ruby ​​ve gem'i yüklemelisiniz.

Sisteminizde yakut ve mücevher yoksa, lütfen talimatları izleyin.

Yazılımı yüklemek için root olmanız gerekir (tüm kullanıcılar tarafından kullanılabilir olmasını istediğiniz varsayarsak).

Linux'a ruby'yi yükleyin: yum install ruby ​​Gem'i
yükleyin, lütfen en son gem paketini indirin, ardından talimatı izleyin

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

Artık RubyGems yüklendiğine göre, gem komutuna sahip olmalısınız (gem, RubyGems paket sistemiyle etkileşim kurmak için kullanılan komuttur). Çalıştırarak test edin:

mücevher listesi

Şimdi, docsplit gemini yüklemek için bir sonraki adıma geçin, lütfen aşağıdaki siteye gidin. http://documentcloud.github.com/docsplit/


Bu OP'nin istediği şeyin tam tersidir.
CarlF
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.