{"id":17031,"date":"2011-01-23T14:03:51","date_gmt":"2011-01-23T13:03:51","guid":{"rendered":"http:\/\/www.boscarol.com\/blog\/?p=17031"},"modified":"2016-02-27T01:35:13","modified_gmt":"2016-02-27T00:35:13","slug":"driver-di-stampante-e-rip","status":"publish","type":"post","link":"http:\/\/www.boscarol.com\/blog\/?p=17031","title":{"rendered":"Driver di stampante e RIP"},"content":{"rendered":"<p>La stampa \u00e8 una delle azione pi\u00f9 complesse per un computer e chiunque utilizza il computer deve affrontare prima o poi problemi di stampa di vario tipo. La stampa da computer \u00e8 complessa perch\u00e9 coinvolge tre soggetti:<\/p>\n<ul>\n<li>chi scrive il codice dell&#8217;applicazione (per esempio Adobe per Photoshop);<\/li>\n<li>chi scrive il sistema operativo (per esempio Apple per Mac OS X);<\/li>\n<li>chi scrive il linguaggio base della stampante (per esempio Epson per Stylus Photo R340).<\/li>\n<\/ul>\n<p>Tutti questi soggetti devono mettersi d&#8217;accordo per realizzare una stampa senza intoppi e problemi.<\/p>\n<p>Ogni stampante accetta certi comandi, esclusivi per quella stampante.\u00a0Per poter supportare una determinata stampante, una applicazione deve essere in grado di trasmettere alla stampante stessa i comandi adeguati per quella stampante. Dunque in teoria il programmatore di una applicazione dovrebbe prevedere il supporto di centinaia di stampanti diverse. Questo non \u00e8 ovviamente fattibile, e il problema viene risolto con i cosiddetti &#8220;driver di stampa&#8221; e i cosiddetti RIP (<em>raster rimage processor<\/em>).<\/p>\n<p><strong><br \/>\nDriver<\/strong><\/p>\n<p>La filosofia di base del driver di stampa \u00e8 che l&#8217;applicazione (per esempio Photoshop) non si fa carico di conoscere ogni singola stampante e di trasmettere ad essa i comandi corretti per stampare, ma si affida al sistema operativo. Si verifica insomma\u00a0un accordo virtuale tra produttori di software e produttori di stampanti, con l&#8217;intermediazione del produttore del sistema operativo.<\/p>\n<p>Il sistema operativo stabilisce un determinato <strong>linguaggio grafico<\/strong>, genericamente adatto per tutte le stampanti (su MacOS \u00e8 QuickDraw, su Mac OS X \u00e8 PDF, su Windows \u00e8 GDI).\u00a0Una applicazione, per stampare, emette unicamente istruzioni in questo linguaggio.<\/p>\n<p>D&#8217;altra parte il costruttore di una stampante realizza un <strong>printer driver<\/strong> per quella stampante, che accetta comandi in questo linguaggio e li trasforma in comandi per quella determinata stampante. Attraverso il driver l&#8217;applicazione spedisce alla stampante la mappa di pixel (CMY, o CMYK, o CcMmYK o altro) da stampare.<\/p>\n<p>Nella <strong>finestra di stampa<\/strong> di una applicazione c&#8217;\u00e8 sempre una parte controllata dall&#8217;applicazione stessa (per esempio Photoshop), una parte controllata dal sistema operativo (per esempio Mac OS X) e una parte controllata dal driver (per esempio Epson).<\/p>\n<p>In una stampante gestita da un driver il flusso di stampa avviene in questo modo:<\/p>\n<ol>\n<li>L&#8217;applicazione pu\u00f2 eseguire qualche operazioni sui dati prima di spedirli al driver di stampa.<\/li>\n<li>L&#8217;applicazione spedisce i dati nel linguaggio del sistema operativo (e quindi con i colori espressi in RGB) al driver della stampante. Alcune applicazioni (quasi tutte le applicazioni grafiche) possono spedire, assieme ai dati, anche il profilo colore dell&#8217;immagine.<\/li>\n<li>Il driver pu\u00f2 agire sui dati RGB ed eventualmente sul profilo colore, per esempio invocando il sistema operativo per fare una trasformazione da un profilo RGB ( trasmesso con i dati) al profilo \u00a0RGB della stampante.<\/li>\n<li>Il driver della stampante converte i dati RGB in dati relativi agli inchiostri (per esempio CMYK o CcMmYK) mediante un algoritmo proprietario interno\u00a0che ha una sua propria generazione del nero, limite di inchiostri e tutto il resto e che genera una LUT (<em>lookup table<\/em>) (o anche mediante il sistema operativo)<\/li>\n<li>Il driver esegue la retinatura dell&#8217;immagine (<em>screening<\/em>).<\/li>\n<li>Il driver spedisce i numeri CMYK o altro di ogni singolo pixel alla stampante.<\/li>\n<\/ol>\n<p>In teoria la conversione al punto 4 potrebbe anche essere fatta in hardware (nell&#8217;elettronica della stampante), ma \u00e8 un metodo che non si usa: forse veniva usato una volta nelle stampanti ad aghi, ma la conversione da RGB a CMYK dipende dalla combinazione carta\/inchiostro e non \u00e8 conveniente inserire nell&#8217;hardware diverse LUT per diverse combinazioni fisse carta\/inchiostro. Invece nel driver software queste LUT si possono modificare e aggiornare.<\/p>\n<p><strong><br \/>\nRIP<\/strong><\/p>\n<p>Esiste un&#8217;altra soluzione al problema della stampa, che consiste nell&#8217;utilizzare un RIP. Anche in questo caso il RIP supporta un linguaggio (tipicamente PostScript o PDF) che tuttavia \u00e8 indipendente dal sistema operativo. Il RIP supporta un certo numero di stampanti e traduce le istruzioni che riceve dall&#8217;applicazione in istruzioni per la stampante.<\/p>\n<p>Esistono applicazioni che possono generare direttamente il linguaggio supportato dal RIP, altre che generano istruzioni nel linguaggio supportato dal sistema operativo e la traduzione avviene mediante un driver (LaserWriter in MacOS, Adobe Printer in Windows).<\/p>\n<p>Inizialmente i RIP utilizzavano il linguaggio PostScript (con gestione del colore proprietaria), poi sono passati lentamente ad utilizzare il linguaggio PDF (con gestione colore ICC), che \u00e8 un PostScript interpretato. Per maggiori particolari si veda la serie <a href=\"http:\/\/www.boscarol.com\/blog\/?page_id=3187\" target=\"_self\">PostScript e i suoi derivati<\/a>.<\/p>\n<p>Oggi esistono RIP molto potenti che consentono non solo di stampare, ma anche di effettuare operazioni di calibrazione e profilazione colore della stampante.<\/p>\n<p><strong><br \/>\nStampante RGB e stampante CMYK<\/strong><\/p>\n<p>Le stampanti a colori per personal computer funzionano con tre (CMY), quattro (CMYK), sei (CcMmYK) o pi\u00f9 inchiostri.<\/p>\n<p>Tuttavia tipicamente un driver pu\u00f2 rappresentare un colore con al massimo tre componenti (cio\u00e8 praticamente RGB) e quindi non ha le adeguate strutture sintattiche per specificare un colore CMYK (che ha quattro componenti). Di conseguenza ad un driver di stampante \u00e8 possibile trasmettere\u00a0<strong>solo dati RGB<\/strong> e non c&#8217;\u00e8 modo di trasmettere dati CMYK. Non si tratta di una limitazione della stampante o del driver, ma del sistema operativo, precisamente del linguaggio di trasmissione dei dati da stampare.<\/p>\n<p>\u00c8 il driver stesso della stampante, che \u00e8 sempre un driver proprietario, specifico per quella stampante, non &#8220;aperto&#8221;, i cui dettagli non sono noti (una cosiddetta &#8220;scatola nera&#8221;) a convertire i dati RGB in dati relativi agli inchiostri di stampa (CMYK o altro).<\/p>\n<p>Per questo motivo si usa dire che una stampante gestita da un driver &#8220;\u00e8 una stampante RGB&#8221; (e per esempio va descritta con un profilo colore RGB e non in altre modalit\u00e0 come CMYK). In realt\u00e0 le uniche vere stampanti RGB sono le stampatrici su carta sensibile utilizzate dai laboratori di stampa fotografica.<\/p>\n<p>Invece l&#8217;uso di un RIP consente la trasmissione (dall&#8217;applicazione al RIP) in qualunque modalit\u00e0 di colore (RGB, CMYK, Lab o altro).<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La stampa \u00e8 una delle azione pi\u00f9 complesse per un computer e chiunque utilizza il computer deve affrontare prima o poi problemi di stampa di vario tipo. La stampa da computer \u00e8 complessa perch\u00e9 coinvolge tre soggetti: chi scrive il codice dell&#8217;applicazione (per esempio Adobe per Photoshop); chi scrive il sistema operativo (per esempio Apple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[301,1027],"tags":[228,257],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pjoVH-4qH","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/17031"}],"collection":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17031"}],"version-history":[{"count":19,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/17031\/revisions"}],"predecessor-version":[{"id":25786,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/17031\/revisions\/25786"}],"wp:attachment":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17031"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}