Questo
https://ufile.io/ivpt
grosso modo penso faccia quello che hai chiesto.
NON fa il controllo sulla scrittura del file, cosa che è indispensabile, ma richiede un 10 minuti di sviluppo e in questo momento sto facendo tutt'altro (devo dare "tetta" a degli avvocati)
Bon, quindi,
- lo lanci in una cartella, si spacchetta da solo sumatrapdf.exe (così non fai neppure fatica, in realtà potrei farlo scaricare da internet, ma sono tendenzialmente pigro)
- devi mettere un file .ini con lo stesso nome del programma, fatto così
[pdf]
stampante='catturapdf'
cartella='c:\scaricati'
intervallo=3
parti=1
parti sta per "avvia monitoraggio".
A quel punto se nella cartella scaricati, per qualsiasi motivo, arriva un nuovo file PDF, esso
- viene copiato nella cartella temp, e da lì stampato
- viene rinominato in .OLD
I file nella cartella temp non vengono mai cancellati (in realtà mi serve per debug), ho messo un bottone manuale.
Il problema principale è verificare il lancio durante lo scaricamento, che IN TEORIA dovrebbe essere ben gestito (ho messo un controllo), ma che richiederebbe un test che in questo momento non ho tempo di fare (cioè scaricare da remoto un file PDF).
In locale in 3 secondi la mia macchina scrive più di 2GB di dati, quindi non è un test particolarmente attendibile.
Vediamo se, grosso modo, è quello che intendevi.
Non so bene cosa fare, coi file PDF, per questo li rinomino (si potrebbero cancellare, archiviare, spostare... insomma... boh...)
PS NON ci sono controlli "antifurbi", cioè non controlla che la stampante esista, che l'intervallo di tempo sia ragionevole.
Non controlla neppure che i PDF siano PDF (cioè se trova un file con estensione PDF lo lavora).
Se per te è importante si possono mettere in una mezz'oretta.