2017-09-19 11 views
2

docxファイルをdocxに変換しようとしています。私はこのコードをオンラインで見つけました。Pythonをdocxに変換する

subprocess.call(['soffice', '--headless', '--convert-to', 'docx', filename]) 
document = docx.Document(path[:-4] + ".docx") 
docText = ''.join([ 
    paragraph.text.encode('ascii', 'ignore') for paragraph in 
document.paragraphs 

私自身のマシンで使用すると完全に正常に動作しますが、この1つをAWSに入れようとしています。そこでは機能しません。 「No such file or directory」というエラーが表示されます。

私のコンピュータ上で動作する理由は何でしょうか、私はそれをAWSに入れてもそれはありません。

+4

完全なエラートレースバックを提供してください。 AWS EC2インスタンスに「soffice」がないと思われますか? –

+0

コードをどのように実行しますか?あなたは、cmdラインとPythonを介してそれを呼び出してみましたが、どこにファイルを変換したいですか? – Kev1n91

答えて

0

このコードを使用しているマシンにLibreOfficeがインストールされている必要があります。実行する前にLibreOfficeのオープンインスタンスを閉じる必要があります。そうしないと何もせずにサイレントモードで終了します。 また

unoconv -d document --format=docx *.doc 

しかし、LibreOfficeの上、それはまた、依存を試すことができます。ファイルをLibreOfficeで変換します。それは不完全であり、いくつかのフォーマットは失われますが、すべてのdocファイルをdocxに変換します

+0

ありがとう、これは働いた。私はLibreOfficeをインストールしていませんでしたが、それは問題でした。 –

関連する問題