จะแยกข้อความจากเอกสาร MS Office ใน Linux ได้อย่างไร


18

ฉันต้องการวิธีที่จะแยกข้อความจากเอกสารประเภท MS Office ทั้งหมด (Word, Excel, Powerpoint) ใน Linux ฉันจินตนาการว่าอาจมีหลายวิธีที่จะทำให้สำเร็จเช่นสคริปต์ Bash หรือ Python หรือแปลงเป็น PDF แล้วแตกข้อความโดยใช้เครื่องมือเช่น pdftotext

ดูเหมือนว่าอาจเป็นข้อกำหนดทั่วไป มีขั้นตอนหรือเครื่องมือที่กำหนดไว้เพื่อให้สามารถทำสิ่งนี้ได้อย่างง่ายดายหรือไม่?

คำตอบ:


16

Catdocสามารถแปลง doc, xls & ppt เป็นข้อความ ตัวเลือกที่สองจะเป็นwvWare

สำหรับ utils เพิ่มเติมตรวจสอบตรวจสอบhttp://www.linux.com/archive/articles/52385สำหรับ word to text coverters และ


Catdoc! นั่นคือสิ่งที่ฉันกำลังมองหา! จะใช้กับ ODF ได้หรือไม่
Phyo Arkar Lwin

เพียงแค่ googled และมีstosberg.net/odt2txt ไม่เคยลองดูเหมือนจะทำงานได้ดี
นาฮาร์

ขอบคุณมาก catdoc ก็โอเค แต่มันไม่สามารถแปลง xls, ppt เพื่อทดสอบฉันใช้ xls2csv และ apache-tika สำหรับพวกเขา ลองดูสิ!
Phyo Arkar Lwin

@nahar, odt2txt ใช้ได้กับรูปแบบ odt เท่านั้นไม่ใช่ ms doc
อัลเลน

1
ยอดเยี่ยม catdoc ทำให้ฉันมีความผิดในการแบ่งเซ็กเมนต์
fotanus

8

ในที่สุดฉันก็พบว่าเครื่องมือที่สมบูรณ์แบบสำหรับการแยกเอกสารสคริปต์มันเป็น apache-tika มันสามารถแยกรูปแบบที่ไม่ใช่ข้อความ gazillion ลงในข้อความซึ่งเจ๋งมาก!

รับ Apache Tika ที่นี่:

http://tika.apache.org/

(ผู้ใช้ Mac Homebrew: brew install tika)

อินเตอร์เฟสบรรทัดคำสั่งทำงานดังนี้:

tika --text something.docx > something.txt


+1: Apache Tika เป็นโครงการโอเพ่นซอร์สร้ายแรงทำงานได้ใน Windows ทำงานจากบรรทัดคำสั่งมี GUI พร้อมการลากและวางเปิดอะไรก็ได้ (Word, Excel, PowerPoint, PDF, svg) แยกข้อมูลเมตาของ เอกสารเช่นกัน หลังจากลองใช้เครื่องมือส่วนใหญ่ด้านบน Apache Tika คือสิ่งที่ฉันกำลังมองหา นี่ควรเป็นคำตอบที่ยอมรับได้ (ฉันไม่รู้ว่าคุณสามารถยอมรับคำตอบของคุณเองได้หรือไม่)
2518618

2
ได้ทำอย่างไร้ยางอาย ... : D
Phyo Arkar Lwin

7

Abiwordสามารถแปลงจาก commandline ระหว่างรูปแบบไฟล์ใดก็ได้ที่รู้

แปลงจาก Word เป็นข้อความธรรมดา:

abiword --to=txt myfile.doc

ทำ pdf จากไฟล์ Word:

abiword --to=pdf myfile.doc

และอื่น ๆ ผลลัพธ์ในกรณีเหล่านี้คือ myfile.txt หรือ myfile.pdf หากคุณต้องการระบุชื่อเอาต์พุตคุณสามารถทำได้เช่นกัน:

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

แปลง ODT เป็น Word:

abiword --to=doc myfile.odt

แปลง Word เป็น ODT:

abiword --to=odt myfile.doc

เพื่อความเป็นธรรมต่อคำตอบอื่น ๆ ควรสังเกตว่า AbiWord ใช้ wvWare เพื่อจัดการเอกสาร Word แต่แม้แต่หน้าแรกของ wvWare ก็แนะนำให้ใช้ AbiWord แทนการแปลงส่วนใหญ่

ฉันเกลียดโปรแกรมประมวลผลคำ นี่คือเหตุผลหลักที่ฉันติดตั้ง AbiWord

คุณอาจสนใจunoconvซึ่งเป็นเครื่องมือที่คล้ายกันซึ่งสนับสนุนรูปแบบ OpenOffice ที่รู้ (ซึ่งรวมถึงสเปรดชีตและสิ่งที่คล้ายกัน) แต่ฉันไม่มีประสบการณ์ด้วยตัวเอง


สำหรับ. docx เอกสารมันเลอะ: S แต่เป็นทางออกที่ดีสำหรับ. doc
Warface

3

ด้วย LibreOffice คุณสามารถทำได้:

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

4
คุณสามารถใช้ตัวกรองข้อความเพื่อแปลงเป็น txt: libreoffice - ไม่รู้จัก --convert-to txt: ไฟล์ข้อความ
Gagaro

0

คุณสามารถใช้CUPS (เครื่องพิมพ์เสมือน) และโดยใช้ ld


ที่น่าสนใจสามารถแปลงสิ่งที่พิมพ์ได้ใด ๆ ให้เป็น PDF? คุณช่วยชี้ฉันและตัวอย่างการทำเช่นนั้นเพื่อ Doc หรือ Xls ได้ไหม
Phyo Arkar Lwin

0

wvเป็นตัวเลือกหนึ่งและ IIRC OpenOffice สามารถบอกได้จากบรรทัดคำสั่งเพื่อส่งออกเป็น pdf และออก


ดูเหมือนว่าunoconvจะเป็นเครื่องมือที่เกี่ยวกับ OpenOffice ที่ฉันจำไม่ได้
ptman


0

1.doc catdoc หรือ antiword สำหรับไฟล์ doc เพื่อแปลงคุณสามารถใช้คำสั่ง catdoc file.doc> ไฟล์หรือไฟล์ antiword file.doc>

  1. docx docx2txt

  2. pdf emacs file.pdf ไฟล์ ctrl-x ctrl-s


(1) Catdoc ถูกเสนอในคำตอบที่โพสต์ภายในหนึ่งชั่วโมงของคำถามเกือบสามปีที่ผ่านมา ทำไมคุณถึงทำซ้ำ? (2) สามารถรับ antiword ได้ที่ไหน? (3) ครึ่งล่างของคำตอบของคุณหมายถึงอะไร
สกอตต์

-1

Docsplit เป็นเครื่องมือที่สมบูรณ์แบบในการแยกข้อความจาก pdf มันเป็นอัญมณีทับทิม ดังนั้นคุณควรติดตั้ง ruby ​​และ gem ในระบบ linux ของคุณก่อนใช้คำสั่ง docsplit

หากระบบของคุณไม่มีทับทิมและอัญมณีโปรดทำตามคำแนะนำ

คุณต้องรูทเพื่อติดตั้งซอฟต์แวร์ (สมมติว่าคุณต้องการให้ผู้ใช้ทุกคนสามารถใช้งานได้)

ติดตั้ง ruby ​​บน linux: yum ติดตั้ง ruby
ติดตั้ง gem โปรดดาวน์โหลดแพคเกจ gem ล่าสุดจากนั้นทำตามคำแนะนำ

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

เมื่อติดตั้ง RubyGems แล้วคุณควรมีคำสั่ง gem (gem เป็นคำสั่งที่ใช้ในการโต้ตอบกับระบบแพ็คเกจ RubyGems) ทดสอบโดยการเรียกใช้:

รายการอัญมณี

ตอนนี้ย้ายไปยังขั้นตอนถัดไปเพื่อติดตั้ง docsplit gem กรุณากลับไปที่เว็บไซต์ต่อไปนี้ http://documentcloud.github.com/docsplit/


ตรงข้ามกับสิ่งที่ OP ต้องการ
CarlF
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.