springstil
Goto Top

Powershell Skript druckt leere PDF Seiten

Hallo zusammen,

ich nutze folgendes Skript um einen ORdner zu überwachen. In diesem Ordner werden PDF Dateien abgelegt die dann gedruckt werden sollen

$OrdnerPfad = "\\messesystem\messe_pdf"  
$BackupOrdner = "\\messesystem\messe_pdf\BackupHW2024"  

# Funktion zum Drucken und Verschieben einer PDF-Datei
function DruckeUndVerschiebePDF([string]$dateiPfad) {
    try {
        # Druckbefehl mit dem Standarddrucker ausführen
        $printerSettings = New-Object System.Drawing.Printing.PrinterSettings
        $printDocument = New-Object System.Drawing.Printing.PrintDocument
        $printDocument.PrinterSettings = $printerSettings
        $printDocument.DocumentName = $dateiPfad
        $printDocument.Print()

        # Datei in den Backup-Ordner verschieben
        $zielPfad = Join-Path -Path $BackupOrdner -ChildPath $dateiObjekt.Name
        Move-Item -Path $dateiPfad -Destination $zielPfad -Force

        Write-Host "Erfolgreich gedruckt und verschoben: $dateiPfad"  
    }
    catch {
        Write-Host "Fehler beim Drucken oder Verschieben der Datei: $dateiPfad"  
        Write-Host $_.Exception.Message
    }
}

# Überwachung des Ordners in einer Endlosschleife
while ($true) {
    $neueDateien = Get-ChildItem -Path $OrdnerPfad -Filter *.pdf -File
    foreach ($datei in $neueDateien) {
        DruckeUndVerschiebePDF -dateiPfad $datei.FullName
    }
    Start-Sleep -Seconds 1
}

Allerdings bekomme ich vom Drucker nur immer leere seiten ausgespuckt.

Wenn ich das ganze mit :
Start-Process –FilePath "\\messesystem\messe_pdf\*.pdf" –Verb Print -PassThru  

Probiere geht es, aber auch nur wenn EINE Datei vorhanden ist und nicht wenn es mehrere gibt. Brauche dringend Hilfe bei dem Problem ich stehe total aufm Schlau und morgen beginnt die Messe face-smile

Content-ID: 7394546339

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

Ausgedruckt am: 21.11.2024 um 19:11 Uhr

manuel-r
manuel-r 02.06.2023 um 10:49:56 Uhr
Goto Top
Hallo

Dann musst du doch eigentlich nur dein Script anpassen indem du die einzelnen Dateien über Start-Process druckst.

$OrdnerPfad = "\\messesystem\messe_pdf"  
$BackupOrdner = "\\messesystem\messe_pdf\BackupHW2024"  

# Funktion zum Drucken und Verschieben einer PDF-Datei
function DruckeUndVerschiebePDF([string]$dateiPfad) {
    try {
        # Druckbefehl mit dem Standarddrucker ausführen
        Start-Process –FilePath $dateiPfad –Verb Print -PassThru

        # Datei in den Backup-Ordner verschieben
        $zielPfad = Join-Path -Path $BackupOrdner -ChildPath $dateiObjekt.Name
        Move-Item -Path $dateiPfad -Destination $zielPfad -Force

        Write-Host "Erfolgreich gedruckt und verschoben: $dateiPfad"  
    }
    catch {
        Write-Host "Fehler beim Drucken oder Verschieben der Datei: $dateiPfad"  
        Write-Host $_.Exception.Message
    }
}

# Überwachung des Ordners in einer Endlosschleife
while ($true) {
    $neueDateien = Get-ChildItem -Path $OrdnerPfad -Filter *.pdf -File
    foreach ($datei in $neueDateien) {
        DruckeUndVerschiebePDF -dateiPfad $datei.FullName
    }
    Start-Sleep -Seconds 1
}

Manuel