سؤال

كيف يمكنك الاتصال lpr في الثعبان ؟

ليس في sys-وحدة التي أمر يثير الدهشة.

وتهدف إلى استخدام lpr على النحو التالي أظهرت الزائفة رمز

10*i for i in range(77):              
      lpr --pages(i,i+1) file.pdf
هل كانت مفيدة؟

المحلول

أولا, أنا لا أفهم البرمجية الزائفة.(ما لا 10*i for i in range(77): يعني في هذه الحالة؟)

عموما يمكنك استخدام subprocess.Popen لتشغيل الأوامر الخارجية. ActiveState وصفة 511505 يظهر مثال على وجه التحديد lpr.في الأساس, يمكن استدعاء lpr مثل هذا:

subprocess.Popen(['lpr', 'some_filename'])

ومع ذلك: استنادا إلى الإصدار الخاص بك من lpr, قد لا يكون هناك خيار لتحديد مجموعة فرعية من كل الصفحات ، أو هذه الوظيفة قد تكون متاحة فقط على سبيل المثال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 يبدو أن الثعبان الارتباطات أكواب.

http://cyberelk.net/tim/software/pycups/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top