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 20:22 | Nová verze

    Enkodér a dekodér SVT-AV1 (Scalable Video Technology for AV1) byl vydán v nové major verzi 4.0.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | Nová verze

    Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    24.1. 11:55 | Humor

    Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě

    … více »
    NUKE GAZA! 🎆 | Komentářů: 32
    24.1. 01:44 | Komunita

    Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.

    Ladislav Hagara | Komentářů: 3
    23.1. 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 3
    23.1. 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 9
    23.1. 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    23.1. 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    23.1. 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.1. 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (34%)
    Celkem 612 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    Tisk v Linuxu pomocí balíku PSUtils

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

    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.