質問
Pythonでlprを呼び出すには
sysモジュールにはないのは驚くべきことです。
擬似コードで示される次のようにlprを使用することを目指しています
10*i for i in range(77):
lpr --pages(i,i+1) file.pdf
解決
まず、あなたの擬似コードがわかりません。 (この場合、range(77):の 10 * i for iはどういう意味ですか?)
通常、 subprocess.Popen
を使用します。 で外部コマンドを実行します。 ActiveStateレシピ511505 は、特に lpr
を使用した例を示しています。基本的に、次のように lpr
を呼び出すことができます:
subprocess.Popen(['lpr', 'some_filename'])
ただし: lpr
のバージョンによっては、すべてのページのサブセットを選択するオプションがない場合があります。または、この機能は eg dviファイル。
編集: PDFファイルの選択したページを印刷したいので、 PDFツールキット。そのソフトウェアは、分割機能を提供するようです。また、PDFファイルの直接印刷がサポートされていることを確認してください。最初に入力をポストスクリプトに変換する必要がある場合があります(例: pdf2ps
)。もちろん、 subprocess.Popen
を使用してこれらのタスクを自動化することもできます。
他のヒント
コマンドラインから呼び出すだけです:
import commands
for i in range(77):
# I'm making no assumptions about lpr command syntax here.
cmd = "lpr --pages(%s,%s) file.pdf" % (2*i, 2*i+1)
commands.getoutput(cmd)
そのようなもの。
試したことはありませんが、pycupsはカップ用のPythonバインディングのようです。
所属していません StackOverflow