Zadejte hledaný výraz...

Jak automatizovat tiskovou úlohu ve Windows z webové služby

David Musil
verified
rating uzivatele
(69 hodnocení)
1. 9. 2024 15:03:45
Ahoj,
potřebuji řešení pro automatizaci tisku. Ve webové firemní appce se "něco" stane a já potřebuji, aby se automaticky bez potvrzení dostaly data do tisku. Že to bude třeba až za 10 minut mi nevadí - je to jedna A4 a tato časová prodleva není překážkou.
1/ v Outlooku jde nastavit pravidlo, ale tiskne to vždy k tomu jednu prázdnou stránku jako tělo emailu a pak až přílohu (řešení to asi je, ale je to oser pořád přebírat papíry a dávat je zpátky do tískárny)
2/ HP tiskárny měly ePrint službu, jenže ta přestává být podporovaná a u nových HP tiskáren už není (ověřeno na HP supportu), to byl super nástroj... už není :/
Nějaká nápady? Třeba nějaká miniappka na Windows, co by si dokázala stáhnout potřebný soubor tisku z URL a poslala by to na tisk? Je důležité, aby to obešlo klasické Windows tiskové potvrzovací okno/dialog. Tiskárna by byla pro tento počítač samozřejmě viditelná.
3/ Powershell skript poradil ChatGPT, samozřejmě potřebuji zkusit a řešení asi upravit. Protože je pouze pro jeden soubor. A ten soubor k tisku se vytvoří třeba každé tři minuty - je to část objednávkového procesu a přijetí dané objednávky.
Zvládl by někdo případně?
Automatizace tisku na Windows s daty doručenými přes URL může být provedena několika způsoby, v závislosti na specifických potřebách a prostředí. Zde je obecný přehled kroků a přístupů, jak to dosáhnout:
1. Stáhnout data z URL
Nejdříve je nutné získat data z dané URL. Toto lze provést skriptem v PowerShellu, Pythonu, nebo jiném jazyce podle toho, co je pro vás nejvhodnější.
PowerShell
powershell
$url = "http://example.com/data.pdf"
$outputPath = "C:\path\to\output\file.pdf"
Invoke-WebRequest -Uri $url -OutFile $outputPath
Python
python
import requests
url = "http://example.com/data.pdf"
output_path = "C:/path/to/output/file.pdf"
response = requests.get(url)
with open(output_path, "wb") as file:
    file.write(response.content)
2. Automatizace tisku
Jakmile máte soubor stažený, následujícím krokem je jeho tisk. Na Windows můžete použít například příkaz Print nebo Rundll32.
Použití Print příkazu
cmd
print /d:YourPrinterName "C:\path\to\output\file.pdf"
Poznámka: Tento příkaz je základní a může mít omezenou funkčnost v závislosti na typu souboru. Pro PDF soubory budete možná potřebovat jiný přístup.
Použití Rundll32 s Adobe Readerem
Pokud tisknete PDF soubory a máte nainstalovaný Adobe Reader, můžete použít následující příkaz:
cmd
Rundll32.exe C:\path\to\AcroRd32.exe,Print "C:\path\to\output\file.pdf"
Tento příkaz otevře PDF soubor v Adobe Readeru a odešle jej na tiskárnu.
Použití PowerShell pro tisk
Pokud chcete použít PowerShell, můžete využít následující skript:
powershell
$printerName = "YourPrinterName"
$filePath = "C:\path\to\output\file.pdf"
Start-Process -FilePath $filePath -ArgumentList "/p /h" -NoNewWindow -PassThru | Out-Null
Tento skript vytiskne soubor pomocí výchozího programu asociovaného s daným typem souboru.
3. Automatizace celého procesu
Pro automatizaci celého procesu (stahování souboru z URL a jeho následný tisk) lze použít skript nebo naplánovat úlohu pomocí Windows Task Scheduleru, který spustí tento proces podle nastaveného rozvrhu nebo při určitém triggeru.
Ukázkový skript v PowerShellu
powershell
$url = "http://example.com/data.pdf"
$outputPath = "C:\path\to\output\file.pdf"
$printerName = "YourPrinterName"
# Stažení souboru z URL
Invoke-WebRequest -Uri $url -OutFile $outputPath
# Tisk souboru
Start-Process -FilePath $outputPath -ArgumentList "/p /h" -NoNewWindow -PassThru | Out-Null
Tento skript můžete uložit jako .ps1 soubor a spouštět ho manuálně nebo automatizovat jeho spouštění.
4. Automatizace pomocí Task Scheduleru
Pokud chcete, aby se skript spouštěl automaticky, můžete jej naplánovat pomocí Windows Task Scheduleru:
    Otevřete Task Scheduler.
    Vytvořte novou úlohu.
    V záložce Actions přidejte novou akci Start a program a jako program vyberte powershell.exe.
    Do políčka Add arguments vložte cestu ke svému skriptu, např. -File "C:\path\to\your_script.ps1".
    Nastavte trigger podle potřeby (např. každý den v určitou dobu).
Tento přístup vám poskytne plně automatizované řešení pro tisk dokumentů, které se načítají přes URL.
1. 9. 2024 15:03:45
https://webtrh.cz/diskuse/jak-automatizovat-tiskovou-ulohu-ve-windows-z-webove-sluzby/#reply1530953
Michal Šmahel
verified
rating uzivatele
20. 9. 2024 18:07:38
Zdravím, neposkytujete tady moc informací, takže těžko říct, co vám poradit… Obecně takové věci samozřejmě řešit lze, navíc mnoha různými způsoby. Vše ale závisí na konkrétních požadavcích/potřebách.
Běží webová aplikace na stejném serveru, je kterému je připojena tiskárna? Na jakých technologiích je webová aplikace postavena?
Jaký operační systém běží na serveru, k němuž je připojena tiskárna? Podle Vašeho popisu to vypadá na nějaký Windows server? Je možné tiskárnu připojit k serveru založeném na linuxu?
Preferujete spíše cestu tzv. web hooku (webová aplikace přímo zašle požadavek nějaké obslužné aplikaci, která zajistí tisk), nahrávání souborů k tisku na nějaké úložiště (obslužná aplikace pravidelně kontroluje úložiště a tiskne obsažené soubory) nebo tisk z e-mailové schránky (obslužná aplikace pravidelně kontroluje e-mailovou schránku a tiskne přílohy e-mailů)?
Jaký formát mají soubory, které potřebujete tisknout? Ve Vašem popisu jsem zaznamenal něco o PDF. Je to jediný formát, který se bude tisknout? Jak jsou případně tyto dokumenty tvořeny? Jsou nějaká omezení na SW, který tyto dokumenty dokáže vytisknout (např. je potřeba použít Adobe Reader)?
Kde je tiskárna umístěna? Jak rychle je možné řešit technické závady (zaseknutí papíru, nedostatek papíru, nedostatek inkoustu/toneru, …)? Je třeba na tyto události někoho uppzorňovat, případně jakým způsobem (e-mail, SMS, Slack, Discord, …)? Je problém, když budou papíry v důsledku poruchy vytištěny později?
Máte záložní tiskárnu pro případ výpadku té primarní? Jsou obě připojené ke stejnému serveru? Jsou k tomuto serveru připojeny ještě jiné tiskárny, které ovšem nesmějí být využity pro tisk předmětných souborů?
Až dodáte odpovědi na tyto základní otázky, jistě se najde někdo, kdo vám bude schopen podat konkrétní rady.
20. 9. 2024 18:07:38
https://webtrh.cz/diskuse/jak-automatizovat-tiskovou-ulohu-ve-windows-z-webove-sluzby/#reply1531365
Pro odpověď se přihlašte.
Přihlásit