Drucken mit Standard Drucker

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MB57
User
Beiträge: 6
Registriert: Samstag 12. Oktober 2019, 09:59

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)
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

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?
MB57
User
Beiträge: 6
Registriert: Samstag 12. Oktober 2019, 09:59

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 :roll:
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn eine Fehlermeldung kommt, muß auch ein Traceback kommen. Ist das der komplette Code und wie startest Du das Skript?
MB57
User
Beiträge: 6
Registriert: Samstag 12. Oktober 2019, 09:59

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
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Dann ist das das Problem der „Software Umgebung”.
MB57
User
Beiträge: 6
Registriert: Samstag 12. Oktober 2019, 09:59

Sirius3 hat geschrieben: Montag 14. Oktober 2019, 19:18 Dann ist das das Problem der „Software Umgebung”.
:D , Joup Software :oops:
trotzdem Danke für die Zeit
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn Du nicht erzählst, was Du machst, kann man Dir auch nicht helfen.
Antworten