Seite 1 von 1
Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 16:40
von MB57
Hallo,
habe den untenstehend Code, für den druck einer PDF mit dem Standard Drucker,
dieser druckt auch erfolgreich, bekomme aber den Fehler,
Error: 'list' object has no attribute 'function'
kann mir jemand hier weiterhelfen?
Code: Alles auswählen
#Variables
Tempfolder='C:\Temp'
Tempfile='TempPDF.pdf'
# Print Temp PDF to standard printer
pathToYourReader = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\AcroRd32.exe")
pathToYourDocument = (Tempfolder + '//' + Tempfile)
args = [pathToYourReader, '/n', '/t', pathToYourDocument]
subprocess.Popen(args)
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 16:46
von Sirius3
Pfade sollten mit os.path.join und nicht (falsch) mit + zusammengestückelt werden.
Variablennamen werden nach Konvention klein_mit_unterstrich geschrieben.
Wenn Du mit dem Popen-Objekt nichts machst, wäre subprocess.run besser.
Wie lautet die komplette Fehlermeldung inklusive Traceback?
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 17:56
von MB57
Sirius3 hat geschrieben: Montag 14. Oktober 2019, 16:46
Pfade sollten mit os.path.join und nicht (falsch) mit + zusammengestückelt werden.
Variablennamen werden nach Konvention klein_mit_unterstrich geschrieben.
Wenn Du mit dem Popen-Objekt nichts machst, wäre subprocess.run besser.
Wie lautet die komplette Fehlermeldung inklusive Traceback?
Danke erstmal für die Korrektur, von "Pfad" und "Variablennamen", stimme dir hier voll zu

.
bekomme kein Traceback, ich sag ja, das Ergebnis ist, das PDF wird gedruckt, aber Fehlermeldung kommt

Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 18:11
von Sirius3
Wenn eine Fehlermeldung kommt, muß auch ein Traceback kommen. Ist das der komplette Code und wie startest Du das Skript?
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 19:04
von MB57
Sirius3 hat geschrieben: Montag 14. Oktober 2019, 18:11
Wenn eine Fehlermeldung kommt, muß auch ein Traceback kommen. Ist das der komplette Code und wie startest Du das Skript?
Code: Alles auswählen
import sys, os
import subprocess, winreg
#Variables
Tempfolder='C:\Temp'
Tempfile='TempPDF.pdf'
#If target directory does not exist it will be here createt
if not os.path.exists(Tempfolder):
os.makedirs(Tempfolder)
# Create Temp PDF of all report pages
Sotware intern
# Print Temp PDF to standard printer
path_to_your_reader = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\AcroRd32.exe")
path_to_your_document = os.path.join(Tempfolder,Tempfile)#(Tempfolder + '//' + Tempfile)
args = [path_to_your_reader, '/n', '/t', path_to_your_document]
subprocess.Popen(args)
Skript wird in einer Software Umgebung gestartet
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 19:18
von Sirius3
Dann ist das das Problem der „Software Umgebung”.
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 20:10
von MB57
Sirius3 hat geschrieben: Montag 14. Oktober 2019, 19:18
Dann ist das das Problem der „Software Umgebung”.

, Joup Software
trotzdem Danke für die Zeit
Re: Drucken mit Standard Drucker
Verfasst: Montag 14. Oktober 2019, 20:12
von Sirius3
Wenn Du nicht erzählst, was Du machst, kann man Dir auch nicht helfen.