peter-h
Goto Top

Powershell Drucker konfigurieren

Hallo zusammen,

Ausgangsituation

bin dabei ein php-Script zu erstellen wobei eine pdf Datei ausgedruckt wird.
PHP-Script funktioniert soweit:

$pdfname="test.pdf";  
$output = shell_exec('powershell -EP Bypass -C "Start-Process –FilePath \"' . $pdfname . '\" –Verb Print"');  
echo $output;

Mein Anliegen

Jetzt hätte ich noch gerne den Drucker konfiguriert
mit Papierfach und Hoch- oder Querformat
Powershell-Script
$Printername=(Get-WmiObject -Class Win32_Printer -Filter “Default = $true”).Name 
Set-PrintConfiguration -printername “$Printername” -PaperSize A4 

Danke schon mal im Voraus für Eure Unterstützung

Content-ID: 91158450606

Url: https://administrator.de/contentid/91158450606

Printed on: November 5, 2024 at 04:11 o'clock

12168552861
Solution 12168552861 Apr 18, 2024 updated at 09:33:00 (UTC)
Goto Top
Add-Type -AssemblyName System.Printing
$printerName = (Get-CimInstance Win32_Printer -Filter "Default = true").Name   
$server = new-object System.Printing.LocalPrintServer ([System.Printing.PrintSystemDesiredAccess]::EnumerateServer)
$queues = $server.GetPrintQueues() | ?{$_.Name -eq $printerName }
foreach($q in $queues){
    $objPrinter = new-object System.Printing.PrintQueue -argumentList $server,$q.Name,([System.Printing.PrintSystemDesiredAccess]::UsePrinter)
    $objPrinter.DefaultPrintTicket.PageOrientation = 'Landscape'  
    $objPrinter.DefaultPrintTicket.InputBin = [System.Printing.InputBin]::Manual
    $objPrinter.DefaultPrintTicket
}
# ab hier dann den Druckbefehl einleiten sonst wirken die Einstellungen für den PrintQueue nicht
# das die Settings immer nur für die aktuelle PS Session gelten ...
start-process -Filepath "<DEINDOK>" -verb print  
Gruß
Peter-H
Peter-H Apr 26, 2024 at 06:13:14 (UTC)
Goto Top
Danke für die Hilfe,
sorry dass ich mich erst jetzt melde, war eine Woche flach gelegen......
probiere dass Script gleich aus

Danke noch mals