2016-10-23 2 views
1

Ich benutze ein Python-Skript, um eine Datei.doc in eine Datei zu konvertieren. txt. Mein Code ist:Wie installiere ich AntiWord unter Windows und benutze es in Python

from subprocess import Popen, PIPE 
from docx import opendocx, getdocumenttext 

#http://stackoverflow.com/questions/5725278/python-help-using-pdfminer-as-a-library 
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 
from pdfminer.converter import TextConverter 
from pdfminer.layout import LAParams 
from pdfminer.pdfpage import PDFPage 
from cStringIO import StringIO 
import os 

def document_to_text(filename, file_path): 
    if filename[-4:] == ".doc": 
     cmd = ['antiword', file_path] 
     p = Popen(cmd, stdout=PIPE) 
     stdout, stderr = p.communicate() 
     return stdout.decode('ascii', 'ignore') 
    elif filename[-5:] == ".docx": 
     document = opendocx(file_path) 
     paratextlist = getdocumenttext(document) 
     newparatextlist = [] 
     for paratext in paratextlist: 
     newparatextlist.append(paratext.encode("utf-8")) 
     return '\n\n'.join(newparatextlist) 

Um das Skript zu verwenden oben ich brauche ‚antiword‘ zu installieren, aber das Problem ist, dass ich weiß nicht, wie es zu tun. Hier ist der Link wo 'antiword' herunterladen: http://www-stud.rbi.informatik.uni-frankfurt.de/~markus/antiword/

Kann mir jemand helfen?

+0

Wenn Sie die Seite, die Sie verknüpft lesen, werden Sie die [Installationsanleitung] (http://www-stud.rbi.informatik.uni-frankfurt.de/~markus/antiword/00README finden. SIEG). – Matthias

Antwort

1

Ich bin auch auf diesem jetzt und wie ich verstanden habe Python keine direkte API dafür. Aber Sie können immer dies von der Kommandozeile aus verwenden.

antiword -f file.doc > file.txt 
antiword -p letter file.doc > file.pdf 

Und diesen Befehl von Python ausführen.

os.system('antiword foo.doc > foo.txt') 
Verwandte Themen