jpg/png/pdf nyomtatás parancssorból, háttérben (batch, command line, esetleg powershell)

Keresek olyan megoldást, amivel parancssorból lehetne nyomtatni, ablak feldobása nélkül, helyi, USB-s nyomtatóval.

Jpg, png és egyéb képformátumok VAGY pdf bemenettel kéne dolgoznia (pdf-ből raster-es képbe átalakítás megoldott, mindegy melyik lesz).

Egygépes környezet, nincs hálózatkezelés, számítási kapacitás van (nem lényeges a terhelése), hibanaplózás és ingyenesség előny lenne, de 30$ alatti per gépes license, vagy 100$ alatti multisite license még beleférhet.

Hozzászólások

Fix méretű képekről lenne szó, illetve az már megoldott, hogy ami kép jön, az akkora legyen, amekkora a nyomtatónak kell.

Lpr doksit olvasva nem tudok rájönni még, hogy ez elegendő-e, csak küldésről írnak, LPD szolgáltatásról keresgélek még, de ha tudsz tippet ne tartsd magadban. A cél csak annyi, hogy parancssorból egy már előkészített pdf vagy png vagy jpg kinyomtatható legyen (időzítés, fájlkezelés, méretezés, log-olás nem kérdéses rész, megoldva).

250$-os license-re van szükség a fejlesztő állítása szerint, mert command line használat az server-szerű használat, és ha az adat amit nyomtatni akarok több user által lett létrehozva (még ha egy helyen is lesz nyomtatva), akkor multiuser felhasználásról van szó. Jelenleg a keret ennél alacsonyabb.

Off: 70k HUF nem fér bele a keretbe? Mennyi a keret ha nem vagyok indiszkrét? Illetve hány órát szórakoztál már ezzel, és még mennyit fogsz mire összejön az ultimate és olcsó szolúció? Ezt bérköltségben összeszámolta már valaki?

On: most tudtam meg, hogy az irfanview nem ingyenes céges felhasználásra.

On: minden programnál amit felhasználok meg szoktam nézni, itt is megtettem, részben ez is az "off" részt fűszerezi.

Off: a történet érdekes, örökölt kódbázis, meglévő ügyfél, kb. 1 év után folyamatos hibák után megálló nyomtató program (java-ban íródott, nem vagyok java fejlesztő, akitől lett vásárolva főverziót váltott, kompatibilitást tört, és nem követte a support szerződést, pert nem érné meg indítani), képtelen függőségek, speciális nyomtató (van olyan program ami A4-en megy, speciális nyomtatón nem, hiába a beállítások), teljes csere tervezése elindul, irfanview license ajánlat szembejön mint a kamion (10 eurós single user commercial license helyett 250 euro), és az egész egy rejtett hiba volt. Jelenleg ott tartok, hogy inkább saját munkaórákból rakok bele 100k-t, mint fizessek egy külsős félnek 70k-t, a support problémák tapasztalata után (ez valahol 30k-nál már nem így van). Keret elsődlegesen a kereséshez volt, mert ezen keret felett már találtam megoldást.

Jelenleg értékelem ki az összes tesztet, hiányosságokat, további munkaórák számát, stb., a felvetéseid jogosak, de mivel a project az elejétől tudhatóan nem egyszeri felhasználásra lesz, ezért megérte ennyi munkát belerakni (vs. 3. féltől származó programnál további példányoknál további költségek).

On: magányemberként használom, és legalábbis meglepő számomra egy olyan sw, ami nem tolja látványosan az arcomba azt, hogy free but only for non-commercial use. (Igen, nyilván az EULA-ban benne van, nyilván elolvasom elejétől a végéig...)

Off: az irfanview fasza cucc, fejlesztik vagy 20 éve, de még ha meg is szűnne a fejlesztése: a jelenlegi windows verziókon fut, a ms win10 után nem tervez újat kiadni (tudomásom szerint), szóval a kompatibilitás jó eséllyel nem lesz problémás.
A történet többi része romantikusan hangzik.

(Nem látom, hogy mi az ami hiányzik a témanyitó bejegyzésből, kérlek írd meg, hogyha most se válaszolnék a kérdésedre.)

Windows 10 parancssorból, egy vagy több parancs kiadásával, usb-n bekötött helyi nyomtatóra akarok küldeni pdf vagy jpg fájlt (elég az egyiket, méret-forma a programhoz igazítható, és nem lesz változó formájú a fájl használat közben). Fontos lenne, hogy ne dobjon fel semmilyen figyelmeztetést, jelzést, GUI elemet, háttérben kellene futnia.

Ideális esetben command line-os windows-os program, kevésbé ideális esetben powershell megoldás érdekel (utóbbival nincs tapasztalatom, ergo csak nagyjából teljes megoldásokat tudok tesztelni érdemben).

Amiket eddig néztem:

pdf:

- foxit, adobe - mindkettő legfrissebb verziókban feldobál ablakot (foxit mintha egy régebbi verzióval nem tenné, license-elés viszont nem tiszta)

- sumatra - működik, de nagyon rossz minőségben (kis méretű szöveg nagyon rosszul olvasható)

- printpdf - jól működik, de a tervezett költségvetésbe nem fér bele (jóval többet tud mint kéne)

- TotalPDFPrinter - működik, de GUI-val és méretezési problémák is voltak (A4-nél kisebb lapra nyomtatok)

jpg,png:

- mspaint - méretezéssel problémák adódtak, nem jól kezelte (még tesztelve lesz, mint B-terv)

- irfanview - működik, license-elési problémák adódtak, 250$-os license szükséges, mert command line-ban használom a programot (részletek fentebb, fejlesztővel egyeztettem)

- rundll32 printui.dll PrintUIEntry ... - nincs windows10-re

Folyamatban:

- ghostscript és mswinpr2 - tesztelésre vár, fentebb kolléga javasolta

- imagemagick - találtam utalást rá, hogy közvetlen nyomtatni is képes, épp keresem

(Nem látom, hogy mi az ami hiányzik a témanyitó bejegyzésből, kérlek írd meg, hogyha most se válaszolnék a kérdésedre.)

Lehet, nem voltam egyértelmű. Az érdekelt volna, hogy az lenne a feladatod, hogy háromszáz képet nyomtass ki? Vagy az, hogy egy könyvtárba egy program időközönként egy képet helyez el, amit néhány percen belül ki kell nyomtatni? Akár arra is válaszolhatsz, hogy miért parancssorból akarod megoldani :)
Úgy érzem, hogy XY-problémával állunk szemben.

A sebesség nem kritérium, a másik megoldásra van szükség, néha jön egy kép (vagy pdf), és ezt kéne nyomtatni.

Azért esett parancssorra a választás, mert jelenleg már működik a kliens és a szerver között egy adatkapcsolat, saját időzítővel, naplózással, több más folyamat is fut, csak a nyomtatást kell megoldani, a mappa figyelést, fájl kezelését, vagy a pdf-ből képre való átalakítást nem.

Miért lenne az, hogy bejön egy fájl, és ezt automatikusan nyomtatni kéne XY probléma? Adott egy szerver, ahol legyártásra kerülnek fájlok, adott egy kliens, ahol a nyomtató van, hogy oldod meg másképp?

Vannak ilyen szoftverek, csak jóval nagyobbak, mint ami a költségvetésbe belefér, és ennek megfelelően sokkal többet is tudnak, pl. hálózati nyomtató kezelést, naplózást, jogosultságokat, ..., sőt, linux-on pont ez a megoldás létezik. Atomizáció mentén gondoltam létezik ilyen program, lásd listám több tagja.

Miért lenne az, hogy bejön egy fájl, és ezt automatikusan nyomtatni kéne XY probléma?

Mert egyrészt eddig erről nem volt szó, hogy ezt kell megoldani. Másrészt sose lehet tudni, hogy van-e erre egy kész program, amit valaki esetleg használ(t) is - miközben a parancssorral küzdünk.
Hirtelen egy ilyet találtam:
https://community.spiceworks.com/topic/83142-automatically-print-files-… -> http://silentprint.com/

SilentPrint3 is a Windows batch printing solution.
It enables documents to be automatically printed or converted to PDF by simply placing them in a file system folder, known as a Watched Folder.

Pont ezt szeretnéd, ha jól értelmezem :)

Ahogy írtam, a fájlok kezelését, ütemezést már végzi egy program, sok más feladat mellett, ezért kellene csak a nyomtatás elvégzésére egy gui mentes program. Amit ez a program tud egyrészről sok (fájlkezelés), másrészről hiányos (naplózás, nyomtatás előtt és után feladatvégzés). Ára szintén problémás, üzleti felhasználásra £299 (ha a home a privátot jelenti).

Ideális esetből indultam ki, és ha szükséges, tágítom a keresési kört.

Módosítások:

- VeryPDF PDFPrint - jól működik, de a tervezett költségvetésbe nem fér bele (jóval többet tud mint kéne)

- 2Printer - ár miatt ki sem próbáltam

(- print parancs - csak karakteres nyomtatásra van)

- lpd - tesztelésre vár, amennyire olvastam windows service

- biopdf.com

Ja nem kell pdf és kép?

Ha elég ha csak kép akkor összelehet ütni valamit C#-ban:

https://download.cloudatcost.com/download/9b7x095caezzze3pk2zc4402t

(benne van a forrás is (mind a 10 sor :)) nagy részét úgy is a stackoverflow-ról nyúltam. ;)

Használat: crapp.exe kep.jpg nyomtatonev

Összegezve az eddigieket a kliensre nem kell semmi.
A kliensen levő nyomtató kapcsolódik az lpd szolgáltatáshoz. A szerver az ehhez kapcsolódó lpr queue-t látja, számára az a nyomtató. És nyomtat rá.
Ellenvetés?