abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 12:33 | Zajímavý projekt

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 6
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 16
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 31
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    12.2. 17:44 | Pozvánky

    V pátek 20. února 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy

    … více »
    lkocman | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 870 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Tisk v Linuxu pomocí balíku PSUtils

    4. 3. 2004 | Tomáš Pěnička | Návody | 8702×

    Oboustranný tisk, tisk více stran na jeden list, sestavování sešitu. Pokud vám něco chybělo v nedávném článku o oboustranném tisku, najdete to zde.

    V nedávné době vyšel na ABCLinuxu článek s návodem k oboustrannému tisku v Linuxu. Článek nevyčerpal všechny možnosti, které mohou nastat, proto jsem se jej rozhodl doplnit.

    Abstrakt

    Řešíme úlohu, jak v Linuxu co nejpohodlněji tisknout oboustranně na tiskárně, která to sama o sobě neumí. Dále se podíváme na postup, jak tisknout více zmenšených stránek na jeden list papíru a nakonec, jak si vytisknout sešit. Předpokládáme, že materiál k tisku je připraven v postscriptovém souboru. Tento předpoklad není nijak omezující, protože z většiny aplikací se dá vymámit PostScript. Použijeme balík psutils, který je snad ve všech distribucích.

    Balík psutils

    Balík psutils je soubor programů, které umí různé kejkle s postscriptovými soubory. Mimo jiné spojení více souborů do jednoho (psmerge, funguje ve velmi speciálních případech, ještě se mi to nepovedlo), výběr některých stránek (psselect), zmenšení a umístění více stránek na jeden list papíru (psnup) a přeuspořádání stránek pro tisk sešitu (psbook, viz dále).

    Jednotlivé programy z balíku psutils se dají pospojovat rourami. Pokud nezadáte výstupní soubor, tak se výsledek vysype na standardní výstup, pokud navíc nezadáte vstupní soubor, data se berou ze standardního vstupu. Spojením několika programů do kolony se dají dělat velké věci.

    Oboustranný tisk - teorie

    Tady se zaměříme na praktickou stránku věci. Oželíme výklad suché teorie a dáme řešení pro různé situace. Předpokládáme, že tiskárna splňuje následující podmínky:

    1. Ze zásobníku si tiskárna bere horní papír.
    2. Na výstupu z tiskárny padá papír na dříve vytištěné (tj. na vršek hromádky).

    Pokud Vaše tiskárna pracuje jinak, čtěte přesto dále.

    Odpovězte si na následující 2 výroky, které se týkají konstrukce tiskárny.

    1. Tiskne se na tu stranu papíru, která je v zásobníku nahoře. Pokud tiskárna nesplňuje bod a.), znegujte odpověď a všude, kde se v bodech i.) až iv.) mluví o zásobníku papíru, prohoďte strany nahoře a dole.
    2. Papír vyjede z tiskárny vytištěnou stranou nahoře. Pokud tiskárna nesplňuje bod b.), znegujte odpověď.

    Mohou nastat 4 případy odpovědí. Popíšeme postup, jak nakonec dostat oboustranně vytištěné stránky seřazené ve správném (tj. vzestupném) pořadí.

    1. Odpovědi jsou (ano, ano) - toto je nejjednodušší případ. Vytiskneme liché stránky, vytištěné listy vrátíme do zásobníku tiskem dolů a vytiskneme sudé stránky. Pokud bylo lichých stránek více než sudých, poslední z nich zůstane v zásobníku, takže je třeba ji zase vytáhnout nebo ji tam ani nedávat.
    2. Odpovědi jsou (ne, ne) - toto je stále jednoduchý případ. Vytiskneme sudé stránky, vytištěné listy vrátíme do zásobníku tiskem nahoru a vytiskneme liché stránky. Pokud bylo lichých stránek více než sudých, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.

      Obě předchozí varianty jsou jednoduché v tom smyslu, že nevyžadují tisk stránek v obráceném pořadí. V těchto případech si vystačíme například s programem gv.

    3. Odpovědi jsou (ano, ne) - nejprve vytiskneme sudé stránky v obráceném pořadí (vytištěné listy vrátíme do zásobníku tiskem dolů) a potom liché (v normálním pořadí). Pokud je lichých stránek víc, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.
    4. Odpovědi jsou (ne, ano) - nejprve vytiskneme liché stránky v obráceném pořadí (vytištěné listy vrátíme do zásobníku tiskem nahoru) a potom sudé (v normálním pořadí). Pokud je lichých stránek víc, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.

    Neřešíme způsob, jak se listy otáčí. Závisí to totiž na požadovaném výsledku (jestli tiskneme na výšku nebo na šířku). Když se uživatel trochu zamyslí, tak na to přijde. Ještě na to přijde řeč.

    Případy (ano, ano) a (ne, ne) a jsou si podobné. Nedají se však spojit, protože vytištěné stránky by vždy v jednom z obou případů byly špatně (sestupně) seřazené. Stejně to platí i pro případy (ano, ne) a (ne, ano).

    Oboustranný tisk - praxe

    Jeden ze způsobů oboustranného tisku je pomocí programu psselect z balíku psutils. Program psselect má řadu způsobů, jak říct, které stránky chceme vybrat. Samozřejmostí je výběr sudých (parametr -e) a lichých (-o) stran. Dále se dají strany specifikovat výčtem a rozsahem (-p). Také se dá obrátit pořadí stránek (-r). Jednotlivé volby se dají kombinovat.

    Následující skript vytiskne (s malou pomocí uživatele) oboustranně postscriptový soubor. Předpokládáme, že skript slouží pro tisk na jedné tiskárně, takže příslušné parametry se nastaví přímo ve skriptu a jako parametr se bude předávat jen jméno souboru. Neuvažujeme případ tiskáren s více zásobníky a výstupními drahami, kde jsou odpovědi na výroky 1.) a 2.) různé pro různé zásobníky a výstupní dráhy. Takové tiskárny by mohly umět oboustranný tisk samy a pokud neumí, tak se dá skript upravit.

    #!/bin/bash
    #Použití: $0 soubor_k_tisku.ps
    #Začátek nastavení
    #Na kterou stranu papíru v zásobníku se tiskne. 1=horní, 0=dolní
    input=
    #Na které straně papíru je na výstupu tisk. 1=horní, 0=dolní
    output=
    printcommand='lpr'
    psselect='psselect'
    #Konec nastavení
    #Nastavení výpisů a proměnných
    file=$1
    messagedown="Až se dotiskne, tak vytištěné papíry vraťte do zásobníku tiskem dolů\n a stiskněte Enter."
    messageup="Až se dotiskne, tak vytištěné papíry vraťte do zásobníku tiskem nahoru\n a stiskněte Enter."
    odd="Tisknou se liché stránky."
    oddreverse="Tisknou se pozpátku liché stránky."
    even="Tisknou se sudé stránky."
    evenreverse="Tisknou se pozpátku sudé stránky."
    done="Hotovo"
    #začátek vlastního skriptu
    if [ $input -eq 1 ]
    then
      if [ $output -eq 1 ]
      then
        echo $odd
        $psselect -o $file | $printcommand
        echo -e $messagedown
        read nothing
        echo $even
        $psselect -e $file | $printcommand
        echo $done
      else
        echo $evenreverse
        $psselect -e -r $file | $printcommand
        echo -e $messagedown
        read nothing
        echo $odd
        $psselect -o $file | $printcommand
        echo $done    
      fi
    else
      if [ $output -eq 1 ]
      then
        echo $oddreverse
        $psselect -o -r $file | $printcommand
        echo -e $messageup
        read nothing
        echo $even
        $psselect -e $file | $printcommand
        echo $done
      else
        echo $even
        $psselect -e $file | $printcommand
        echo -e $messageup
        read nothing
        echo $odd
        $psselect -o $file | $printcommand
        echo $done    
      fi
    fi

    Více stránek na jeden list

    Ve své práci jsem řešil problém, jak vytisknout spoustu grafů tak, aby jich bylo více na stránce. Prvním řešením je přesvědčit aplikaci, která grafy generuje, aby je tak zrovna vytiskla (uložila do PostScriptu), druhým řešením je vygenerovat grafy po jednom na stránce a dodatečně je zmenšit a seskupit na stránku.

    K tomuto úkolu se hodí program psnup. Umí seskupit více logických stránek na jeden list papíru. Jako parametr si vezme počet stránek na list papíru a sám rozhodne, jak je na stránku umístit tak, aby co nejlépe využil plochu. Někdy použije papír naležato (landscape). Pokud uzná, že plochu využít neumí, tak to oznámí a neudělá nic. Nedá se mu nijak domluvit. V praxi to znamená, že na jeden list nemůžeme umístit 7, 11, 13, 17... stránek. Ostatní počty zvládá. Dále se dá nastavit velikost papíru (na vstupu i výstupu), okraje papíru (-m), okraje logických stránek (-b), způsob umisťování jednotlivých stránek (po sloupcích -c nebo řádcích - standard), linky mezi stránkami (-d) atd., viz man psnup.

    Příklad 1: chceme stránky ze souboru vstup.ps umístit po čtyřech a uložit do souboru vystup.ps, uděláme to takto:

    psnup -4 vstup.ps > vystup.ps

    Tisk sešitu

    Někdy se hodí vytisknout text tak, že z něho vytvoříme sešit, tj. vytiskneme oboustranně, přeložíme v půlce a sešijeme (vhodné pro krátké články, manuály apod.). Seřadit správně stránky dá docela hodně přemýšlení. Například, pokud máme 12 logických stránek, tak na první list vytiskneme z jedné strany stránky 12 a 1 a z druhé 2 a 11 , na druhý list 10+3 a 4+9 atd. Principiálně by to šlo i programem psselect, ale psbook se hodí lépe.

    psbook se používá ve spojení s programem psnup tak, že výstup psbook se prožene přes psnup -2 a výsledek oboustranně vytiskneme. Pokud si prohlédnete vazbu nějaké staré knihy, uvidíte, že je svázána z mnoha malých sešitků (v angličtině se používá slovo signature). I na toto psbook pamatuje parametrem -s, kde se mu musí předhodit číslo, které je násobkem 4 a znamená počet stránek v jednom sešitku. Pokud neuvedeme nic, nacpe celý soubor do jednoho sešitku. Pokud není počet stránek v souboru násobkem počtu stránek v sešitku, tak se doplní prázdnými stranami.

    Příklad 2: Používám k úspornému tisku skript kniha.sh, který zmenší stránky formátu A4 a umístí je po dvou na list papíru. Výstup skriptu vytisknu oboustranně a dostanu tím sešitek. Použití je následující:

    kniha.sh vstup.ps > vystup.ps

     

    #!/bin/sh file=$1
    psbook $file | psnup -2

    Příklad 3: Osobně tisknu pro oddíl zpěvník pomocí TeXu a psutils takto: Připravím si zpěvník ve formátu A5 jako soubor vstup.dvi. Následující skript připraví soubor pro tisk. Použití je

    zpevnika5 vstup

    (bez .dvi) a výsledek najdu v souboru vstup_vysledek.ps (výstup se dá samozřejmě upravit).

    #!/bin/bash
    dvips -t a5 $1
    psbook $1.ps | psnup -2 -p a4 -P a5 > $1_vysledek.ps

    Parametr -p a4 znamená požadovaný formát výstupu, kdežto -P a5 je formát vstupu. Našel jsem chybu programu psnup - v tomto případě je ve výsledném postscriptovém souboru špatně uvedený formát, a to A5 místo A4. Musí se ručně přepsat na A4 (osmý řádek souboru). Nemám nejnovější verzi psnup, takže nevím, jestli není chyba už opravená.

    Otáčení kolem dlouhé a krátké strany papíru

    Otáčení papíru při oboustranném tisku se dá popsat jednoduše. Předpokládejme, že papír prolézá tiskárnou po délce.

    Pokud tiskneme na výšku (jedna strana na list, listy svážeme na delší straně), otáčíme kolem delší strany papíru. Pokud bychom ale chtěli z nějakého důvodu papíry sešít na horní (kratší) straně a otáčet listy nahoru, tak bychom otáčeli kolem kratší strany papíru.

    Pokud tiskneme sešitek (tj. na šířku), otáčíme kolem kratší strany papíru. Toto se týká obou výše uvedených příkladů.

    Zvláštní situace nastává, pokud sice máme dvě stránky na listu papíru, ale hodláme je sešít do kroužkové vazby tak, že je sešijeme na delší straně papíru. Znamená to, že při prohlížení před námi papíry leží naležato a otáčíme je nahoru. Hodí se to, pokud si okopírujete nějakou knihu po dvojlistech. V takovém případě se papíry otáčí kolem delší strany papíru.

    Než se pustíte do tisku, podívejte se, jestli náhodou tiskárna neotáčí papíry sama. Například, pokud se papír dává do tiskárny zepředu a zase předem vyleze, tak už je otočený kolem kratší strany. Pokud si nejste jisti, musíte na otestování obětovat jeden list papíru.

    Závěr

    Předvedený postup má výhodu v tom, že k oboustrannému tisku nepotřebuje spolupráci správce systému. Stačí, když funguje (jednostranný) tisk. Příslušné skripty si uživatel uloží do svého vlastního adresáře se skripty (typicky to je ~/bin a někde v .bashrc si přidá tento adresář do cesty).

           

    Hodnocení: 42 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Stanislav Brabec avatar 4.3.2004 11:33 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše zrcadlové převrácení
    A pokud snad někdo potřebuje patch na zrcadlové převrácení, najde ho tady. Kdysi jsem potřeboval tisknout hotový PostScript na pauzáky, tak jsem to tam přidal.
    5.3.2004 08:59 Josef
    Rozbalit Rozbalit vše Další užitečnosti k tématu
    Za přečtení a na doplnění stojí za zmínku článek o PSUtils na serveru Grafika.cz.

    S tématikou souvisí i následující články, některé zmiňují i jiné nástroje pro další operační systémy:

    Softwarové nástroje pro archovou montáž: Přehled

    Je Linux použitelný v pre-pressu?

    Softwarové nástroje pro archovou montáž: Přehled

    A abych si nakonec přihřál svoji polívčičku, měl by ještě na mých starých stránkách viset popis řešení jedné méně ovyklé, ale tehdy potřebné montáže čtyř stránek na jednu oboustranně.

    Pohoda, hezký den

    Josef
    6.3.2004 10:19 petris
    Rozbalit Rozbalit vše více stránek přessebe
    Zdravim, potřeboval bych dostat 2 stránky přessebe na jednu stránku (mají se překrývat, něco jako dvě vrstvy v Gimpu). Nevíte někdo jak na to?
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.