Frage

Wie können Sie LPR in Python anrufen?

Es ist nicht im sysmodul, was überraschend ist.

Ich möchte den LPR wie folgt verwenden

10*i for i in range(77):              
      lpr --pages(i,i+1) file.pdf
War es hilfreich?

Lösung

Zuerst verstehe ich Ihren Pseudocode nicht. (Was macht 10*i for i in range(77): meine in diesem Fall?)

Im Allgemeinen verwenden Sie subprocess.Popen Externe Befehle ausführen. Aktivitätsrezept 511505 zeigt ein Beispiel speziell mit lpr. Grundsätzlich können Sie aufrufen lpr so was:

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

Jedoch: Abhängig von Ihrer Version von lpr, Es gibt möglicherweise keine Option, eine Teilmenge aller Seiten auszuwählen, oder diese Funktionalität kann nur für verfügbar sein für EG DVI -Dateien.

Bearbeiten: Da Sie ausgewählte Seiten von PDF -Dateien drucken möchten, schauen Sie sich das an die PDF -Toolkit. Diese Software scheint Spaltfunktionen zu liefern. Stellen Sie außerdem sicher, dass das direkte Drucken von PDF -Dateien unterstützt wird. Möglicherweise müssen Sie die Eingabe zuerst in PostScript konvertieren (z. B. verwenden pdf2ps). Natürlich können Sie diese Aufgaben automatisieren subprocess.Popen auch.

Andere Tipps

Rufen Sie es einfach von der Befehlszeile an:

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)

Sowas in der Art.

Ich habe es nicht ausprobiert, aber Pycups scheinen Python -Bindungen für Tassen zu sein.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top