PDFから情報を解析/抽出する小さなPythonスクリプトを作成しました。私は私のローカルマシンでそれをテストしました。私はpython 2.6.2とpdftotext version 0.12.4を持っています。ローカルマシンからウェブホスティングに変更するとpythonスクリプトからpdftotextが呼び出されない
私はウェブホスティングサーバー(dreamhost)でこれを実行しようとしています。それはpythonバージョン2.5.2とpdftotextバージョン3.02を持っています。
- :私はpdftotextラインで次のエラーを取得するスクリプトを実行しようとすると、はしかし、「『』ファイルを開けませんでしたエラー」(私はシンプル捨てるのスクリプトと同様に、それを確認しています)
def ConvertPDFToText(currentPDF):
pdfData = currentPDF.read()
tf = os.tmpfile()
tf.write(pdfData)
tf.seek(0)
if (len(pdfData) > 0) :
out, err = subprocess.Popen(["pdftotext", "-layout", "-", "-"], stdin = tf, stdout=subprocess.PIPE).communicate()
return out
else :
return None
私はこの関数を同じPDFファイルに渡しており、アクセスできることに注意してください。別の機能では、ウェブホストで実行されている同じスクリプトからPDF文書を電子メールで送信できます。
私は間違っていますか?私のローカルバージョンとウェブホストバージョンの間のサブプロセス/ python/pdftextの使用法の可能な違いは何ですか?私はコマンドを修正する必要があると思いますので、どんな助けでも大歓迎です。
ありがとうございます。
pdftotextをwebhost上のコマンドラインから直接読み取ることはできますか?これを確認できますか?また、一時ファイルの名前を標準入力に渡すのではなく、引数として渡すのはなぜですか? –
3.02はおそらく 'pdftotext'ではなく' xpdf'のバージョンです。通常、 'pdftotext'は_xpdf_パッケージの一部です。 – PoltoS
@ Noufal - はい、コマンドラインから読むことができます。私がこれをやっている理由の詳細については、この質問を参照してくださいhttp://stackoverflow.com/questions/3745178/running-a-command-line-from-python-and-piping-arguments-from-memory – Chaitanya