Tiskové jazyku u tiskárny

xunil

Tiskové jazyku u tiskárny
« kdy: 31. 03. 2023, 21:57:00 »
Zdravím,
mám dotaz ohledně tiskového jazyku.
GDI - u levnějších tiskáren. Zpracování tisku se stará software počítače a ne hardware tiskárny.
PCL - nejrozšířenější jazyk. Písma nebo grafika, nejsou vytvořena počítačem, ale tiskárnou.
PostScript - pro větší grafické data a kvalitní barevný výstup.

Co hrozí u tiskárny která umí pouze GDI (res. neumí PCL a PS)
Jaké jsou hlavní neduhy? Např. pro tisk v CADu.

Děkuji.



alex6bbc

  • *****
  • 1 432
    • Zobrazit profil
    • E-mail
Re:Tiskové jazyku u tiskárny
« Odpověď #1 kdy: 31. 03. 2023, 22:15:21 »
tak asi ze u gdi tiskarny se musi poslat cela bitmapa tisku, netusim jak to mezi kompem a tiskarnou komprimuji, ale asi to bude nejvice dat co se posila kablem/vzduchem.

pcl/ps tiskarna musi mit fonty, jinak se data poslou stejne jako binarni fonty, obrazky apod.
ale takova tiskarna sama umi vektorove operace jako malovani car, oblouku, rotace, posuny atd. takze se posila mene dat z kompu a tiskarna to treba umi renderovani i optimalizovat.

alex6bbc

  • *****
  • 1 432
    • Zobrazit profil
    • E-mail
Re:Tiskové jazyku u tiskárny
« Odpověď #2 kdy: 31. 03. 2023, 22:18:13 »
kdyz to reknu zjednodusene, tak pro vystup z cadu bude nejlepsi plotter, ktery umi vektorove malovani car, oblouku, fontu apod. no a pokud tiskarna umi vyssi jazyk, tak ma na to asi optimalizaci.

xunil

Re:Tiskové jazyku u tiskárny
« Odpověď #3 kdy: 31. 03. 2023, 22:36:54 »
Plotter by byl jistě správné řešení. Nicméně na plotteru by špatně sloužil jako klasická tiskárna.
První neduh tedy množství dat které se musí do tiskárny přenést.


Re:Tiskové jazyku u tiskárny
« Odpověď #4 kdy: 01. 04. 2023, 20:56:29 »
Hlavně hrozí to, až vyjde nová verze operačního systému pro který výrobce nenapíše GDI ovladač, tak máte smůlu.
U PS a PCL je v tomto případě naděje vyšší.


borekz

  • ****
  • 492
    • Zobrazit profil
    • E-mail
Re:Tiskové jazyku u tiskárny
« Odpověď #5 kdy: 02. 04. 2023, 06:10:23 »
Až do Windows XP jsou všechny tiskárny "GDI". Výrobce tiskárny musí dodat ovladač DDI, který dostává textové a vektorové příkazy z aplikace přes GDI. Některé ovladače z těch příkazů dělají PCL. V PCL3 se také grafika přenáší v bitmapě, teprve novější verze ji přenáší vektorově.

BTW. Existují i další jazyky, jako CPCL, TPCL, EPL a dokonce HPGL, který si dříve používal v plotterech a dnes se používá v "plotterech". Plotter v uvozovkách je obchodní označení velkoformátových laserových nebo inkoustových tiskáren od HP, které sice podporují HPGL, ale jinak nemají s plotterem nic společného.

Re:Tiskové jazyku u tiskárny
« Odpověď #6 kdy: 02. 04. 2023, 13:29:07 »
Hlavně hrozí to, až vyjde nová verze operačního systému pro který výrobce nenapíše GDI ovladač, tak máte smůlu.
U PS a PCL je v tomto případě naděje vyšší.

+1, velmi přesně a úsporně formulováno.

GDI vždycky znamenalo "užijte si tiskárnu, dokud nepřijde nová verze Windows, která Vám ji pošle do popelnice".
Přesněji řečeno: v Linuxu by životnost "ovladačů" (tiskových back-endů) mohla být o něco delší. Třeba projekt Gutenprint udržuje tiskové backendy pro všelijaké staré hrůzy.

Pod Windows "HP Universal Printing Drivers" produkují PCL nebo PostScript, který by měl chodit na širokém spektru tiskáren. Nicméně mám pocit, že jsem před pár lety zkoušel PS z aktuálního "HP universal printing" poslat na starou HPLJ6-P a nepochodil jsem. Podobně tuším s PCL5, těsně než HP přestali generický driver PCL5 publikovat. Jak funguje datový formát produkovaný "HP Universal Printing" drivery proti tiskárnám jiných výrobců, o tom nemám přehled.

Kdysi dávno, ještě před "HP Universal Printing", býval k dispozici "Adobe Generic Postscript Driver" - který produkoval PS, kompatibilní s tehdejšími tiskárnami. Tento byl ale dávno stažen z webu a dost možná už by v dnešních windows ani nefungoval.

Až do Windows XP jsou všechny tiskárny "GDI". Výrobce tiskárny musí dodat ovladač DDI, který dostává textové a vektorové příkazy z aplikace přes GDI. Některé ovladače z těch příkazů dělají PCL. V PCL3 se také grafika přenáší v bitmapě, teprve novější verze ji přenáší vektorově.

Ano GDI/DDI je/bylo programové tiskové rozhraní pro Win32 aplikace, než přišlo XPS. Pro mě osobně je zajímavé, že Windows Printing Spooler lokálně data spooloval i v dobách GDI/DDI ve formátu EMF = vektorový formát, "Metafile". Pokud správně chápu, s příchodem XPS se takto jmenuje jak rozhraní, tak interní spoolovací formát... dokonce je od té doby ve Windows by default nainstalována "virtuální XPS tiskárna" - což jsem chápal tak, že by Microsoft rád prosadil XPS jako formát souboru "přenositelného jazyka tiskových stran", jak odedávna funguje PS/PDF... což se moc nedaří.

Pod pojmem "GDI tiskárna" si obecně představuji černou skříňku, do které NEmohu přes standardní rozhraní LPT nebo USB-LPT nebo "něco nad TCP/IP" prostě nakopírovat soubor v nativním formátu jejího jobu, aby z tiskárny vyjel papír. Pro GDI tiskárnu potřebuju živý HW-specifický ovladač, který si s tiskárnou bude něco důvěrně švitořit, aby z ní vůbec kdy něco vylezlo.

"Ne-GDI" tiskárně lze doručit job v jejím datovém formátu libovolným způsobem (LPT / USB-LPT / síť (LPR, JetDirect, IPP)) a z ní prostě bez dalšího vypadne výtisk.

BTW. Existují i další jazyky, jako CPCL, TPCL, EPL a dokonce HPGL, který si dříve používal v plotterech a dnes se používá v "plotterech". Plotter v uvozovkách je obchodní označení velkoformátových laserových nebo inkoustových tiskáren od HP, které sice podporují HPGL, ale jinak nemají s plotterem nic společného.

:-) Jojo. Klasický plotter nebo-li souřadnicový zapisovač jezdil po papíře perem. Vektorové zařízení. K mému lehkému údivu spíše menšina plotterů měla plochou podložku, pevně uchycený papír a 2D portál - většina konstrukcí měla válec, pero na jediném lineárním pojezdu, a válely papírem tam a zpátky... nevím jak moc to bylo přesné, při složitějším výkresu. Tu dobu jsem možná zažil, ale tehdejší plotter jsem v chodu nikdy neviděl. Souhlasím, že dnešní "plotter" je vlastně velkoformátový inkoust nebo tak něco. Výkres si renderuje do bitmapy a tu plive na papír řádek po řádku. Takže papír sice jede po válci, ale výkres vypadne na jeden průchod.

HPGL je tedy vektorový formát, ideový příbuzný třeba formátu Gerber. HPGL je údajně podporován i běžnými kancelářskými tiskárnami HP (možná jsem to kdysi dávno i zkusil.)

...
 
Ohledně formátů tiskových jobů:

V dnešní době jako další generický formát funguje "PCLm" (vlastně tenký PDF obal okolo celostránkové bitmapy) - toto je podstatou "Apple Driverless Printing", vyskytuje se to na síťových tiskárnách které podporují IPP / AirPrint / Bonjour (což je dnes velká část tiskáren s Ethernetem nebo i WiFi).

A ostatně i PCL5/6/PS jsou často používány jenom jako "kontejner na celostránkovou bitmapu". Protože vektorových fontů je dnes široká paleta, a než cpát s každým jobem do tiskárny TrueType font (nebo ho převádě na PS font) apod., dává možná lepší jistotu výsledku před-renderovaná bitmapa. S kompresí nemusí být ani moc veliká. V konfiguraci tiskového ovladače může být k nalezení volba, zda má písmo embedovat nebo rovnou renderovat.

Pamatuju si, že kdysi dávno (kolem přelomu století) byl rozdíl, jestli člověk "vytiskl" fotku skrz PCL5 nebo PS. Pokud se tiskárna z PS rovnou nepoblinkala, tak byla šance na jemnější polotóny. Možná to bylo tím, že v případě PCL5 provedl konverzi rozlišení bitmapy ovladač na počítači (nějakým jednoduchým algoritmem) kdežto v případě PS byla bitmapa embednuta v původním rozlišení, a následně ji renderoval PS interpreter ve firmwaru tiskárny, který mohl sáhnout k nějakým nečistým kouzlům typu Resolution Enhancement Technology apod. Taky joby v PS mívaly větší objem, než joby v PCL (a trvalo déle je vytisknout).

Dlouho jsem nezkoušel, poslat do modernější tiskárny HP PCL3 (na úrovni třeba HP LJ III). Možná by to dodnes klaplo :-)

Třeba na Epsonech býval (díky popularitě této značky) velice známý formát Esc*P2. Ale on pomalu každý výrobce tiskáren měl nějaký svůj formát, většinou podrobně zdokumentovaný. Star, Zebra/Eltron/Comtec, Datamax...

Kromě "echt GDI tiskáren", typicky na USB, kde si bez živého proprietárního ovladače skutečně neškrtnete, existují levné tiskárny "z jednoho pytle s echt GDI", které sice vezmou job na jednosměrném LPT / USB-LPT, ale jejich formát jobu je "svůj". Byla taková doba... soudě podle seznamů u projektu Gutenprint apod., bývá ten formát nějakým společným jmenovatelem výrobce a rodiny tiskáren. Matně si vybavuji, že takový "svůj" formát nějaké řady moderních "GDI" tiskáren byl ve skutečnosti PCL3... ale neměl jsem nikdy čas to nějak moc zkoumat.

xunil

Re:Tiskové jazyku u tiskárny
« Odpověď #7 kdy: 02. 04. 2023, 15:44:46 »
Ok délka podpory od výrobce by mohla být dobrá. Win 11 ovladač má a ten tu ještě nějakou dobu bude.
Podporu od výrobce je potřeba i pro jiné věci než o samotný tisk.
Pokud by nevyšel ovladač pro Win12, tak na neGDI tiskárně něco vytisknu, ale další volby ohledně možnosti tisku nastavení doplňkového SW skenování, různé profily atd budou stejně fuč.

Jak je to ohledně porovnání výstupu? Kde ne největší změna pokud použiju jednotlivé tiskové jazyky?
Např. u CAD aplikaci. tlouštíka čar, měřítko atd.


Re:Tiskové jazyku u tiskárny
« Odpověď #8 kdy: 02. 04. 2023, 22:43:44 »
Jak je to ohledně porovnání výstupu? Kde ne největší změna pokud použiju jednotlivé tiskové jazyky?
Např. u CAD aplikaci. tlouštíka čar, měřítko atd.

Tloušťka čar a měřítko by měly vyjít přesně stejně.

Teoreticky vektorové formáty (PS, PDF, ehm HPGL) by mohly kreslit jemné detaily trochu líp, ale to zjistíte spíš pod lupou. U hloupých formátů, kde do tiskárny jde už celostránková bitmapa v pevném rozlišení, máte šanci ovlivnit rozlišení té bitmapy. Takže třeba dithering šedých tenkých čar může být znát (v hrubším rozlišení). Tuším na to bývaly i nějaké testovací obrazce.

Dnešní kancelářské lasery mívají běžně 600 dpi (= pixelů na palec) ale ty obrazové body jsou černobílé tečky = barevná hloubka 1 bit. Plochy polotónů jsou emulovány buď pravidelným ditheringem nebo chybovou difuzí (Floyd-Steinberg). Rozdíl mezi 300 a 600 dpi je u jemných čar a polotónů poměrně znát.

Poňouknut Vaším dotazem, vyrobil jsem jednoduchý vektorový testovací obrazec: hvězdu z tenkých čar, rozteč 5 stupňů. Matici obrazců na A4 přikládám. V matici vodorovně tloušťka čáry 0.1/0.2/0.3 mm, svisle sytost 100/75/50/25% (černá a odstíny šedé). Zkusil jsem to na své m227 vytisknout ve třech variantách:

Výsledky jsem skenoval opět v m227 v rozlišení 1200 dpi (víc skener neumí).
Tady k příspěvku mám omezení na 4 přílohy - přikládám zipnutý původní obrazec v obou formátech a tři zajímavé výřezy ze skenů. Vynechávám nudné "bezchybné" obrazce typu 100% sytost v 600dpi nebo PS. Výše v textu jsou odkazy na kompletní A4 skeny - ve formátu PNG (= bezeztrátové), výsledné soubory mají každý asi 15 MB (surová data asi 150 MB každý obrázek).

Ve variantě "PCL5 v pevném rozlišení" bylo zajímavé, že nehrálo roli, zda v ovladači řeknu "poslat grafiku jako vektory" vs "jako bitmapy" - dithering polotónů vyšel v obojím případě přesně stejný. Zato se ve variantě PCL5 mírně lišilo moiré podle toho, zda jsem tiskl z PDF (Acrobat Reader) nebo přímo z Inkscapu (backend "vector"). Přiložené skeny jsou z PDF/Acrobatu.

Ve variantě PostScript při sytosti nižší než 100% je zajímavý "světlejší střed hvězdy" - patrně nějaké moiré ditheringu na mnoha překrytých čárách. Nedomyšlenost renderovacího enginu v tiskárně. Toto se chovalo shodně při tisku z Acrobat Readeru a z Inkscapu.

V některých ovladačích býval ke konfiguraci algoritmus ditheringu bitmap. V aktuálních ovladačích HP Universal Printing tato volba není. Takže Floyd-Steinberga leda v Irfanu v rozlišení tiskárny a výstup tisknout jako bitmapu 1bpp v měřítku 1:1. Anebo fotku prostě poslat embednutou v PostScriptu, ať si s ní tiskárna poradí. Tisk bitmap/fotek jsem netestoval.

xunil

Re:Tiskové jazyku u tiskárny
« Odpověď #9 kdy: 04. 04. 2023, 16:55:24 »
Perfektní. Děkuji za informace.

Re:Tiskové jazyku u tiskárny
« Odpověď #10 kdy: 04. 04. 2023, 22:05:15 »
Dovolím si navázat na historické okénko pana Ryšánka. Taky už něco pamatuju:

Postscriptová tiskárna bývala poměrně vzácnou záležitostí. Mluvím o době, kdy  byla na trhu HP LJII, později LJIII.
Byl jsem hrdým majitelem referenčního manuálu PCL od HP. Postscriptový výstup jsem tenkrát vnímal jako záležitost spíš DTP studií a osvitových jednotek, než běžných firemních tiskáren. S velkou slávou jsme si do HPLJII pořídili rozšiřující kartu pro zpracování Postscriptu. Ano, tisk byl proti PCL výrazně pomalejší. Procesor tiskárny nestíhal. Stejně tak se velmi často narazilo na nedostatek RAM v tiskárně.

Na tehdejším pracovišti jsme měli i plotter "souřadnicový zapisovač" Digigraf. Pár slov o něm je zde na rootu https://www.root.cz/clanky/tiskarny-a-plottery-vyrabene-v-ceskoslovensku/. To bylo svým mechanickým provedením opravdu povedené zařízení. Zádrhel trochu byl spíš v samotných kreslicích perech. Ty bylo třeba pečlivě opatrovat a uctivě s nimi zacházet. Šlo pochopitelně o problém zasychání inkoustu nebo výrobu kaněk, a to v kombinaci s nastavením rychlosti pohybu kreslicí hlavy. A to zvlášť při potřebě mít v zásobníku připravených více per různého průměru pro velkoformátové výkresy, kdy vykreslení trvalo desítky minut. Šťastlivcům se mohlo zadařit sehnat pera Rotring místo tuzemských Centropen(?). Už se nepamatuju, jestli byly rozměrově shodné nebo se používal nějaký adaptér.

Při zapnutí elektrostatického přisávání pro upevnění papíru k podložce bylo krásně vidět, že se papír rázem celý vyhladil. To bylo doprovázeno i zvukovým efektem krátkého zašumění či chcete-li mlasknutí.

Digigraf měl či možná stále ještě má tuhý kořínek. Nadšenci s ním i frézují https://forum.strojirenstvi.cz/viewtopic.php?t=11403