Portál AbcLinuxu, 9. května 2025 03:07

Dotaz: tisk knihy

11.8.2015 12:45 RM
tisk knihy
Přečteno: 1110×
Odpovědět | Admin
Neznáte někdo nějaké jednoduché udělátko (asi skript), které mi poskládá čísla stránek z pdf tak, abych mohl tisknout knihu (brožuru) o pěti listech v každém svazku? Složit už to dokážu pomocí pdfnup, stačí jen poskládat čísla stránek a vložit případně prázdné tam, kde to bude potřeba, asi na začátek a konec.

Řešení dotazu:


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.8.2015 13:06 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: tisk knihy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná vyhoví a2ps, který k tomuto účelu používám.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.8.2015 16:24 RM
Rozbalit Rozbalit vše Re: tisk knihy
Díky za tip. a2ps není asi přesně to, co jsem hledal: Nějak se mi nepovedlo zjistit, jak bych tam vkládal prázdné listy. S pdfnup nemusím navíc nic převádět do ps, Tudíž jsem nakonec udělal v Perlu jednoduchý kalkulátor.
11.8.2015 16:49 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: tisk knihy
V PDF se obvykle nějaký ten prázdný list najde, ale přiznám se, že jsem nad tím nepřemýšlel. Na pořadí listů je parametr "-a".

Nepřevádím nic do PS, prostě tím nástrojem tisknu.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.8.2015 17:44 RM
Rozbalit Rozbalit vše Re: tisk knihy
Příloha:
Nějaký ... najde, ale jen v tom případě, že si to pdfko sám vytváříte. Zatím jsem to vyřešil přes pdfnup. Jen si musím vygenerovat seznam stránek, který dosadím za parametr. (Nevím jak by to fungovalo s větším počtem stran, možná by délka argumentu překročila max délku.) Pdfnup používám tedy takhle:

pdfnup file.pdf `brochurer.pl {},{},186..257` --a4paper --nup 2x1 --offset '0cm 0cm' --delta '0.6cm 0.6cm' --outfile out.pdf

a ono to vytvoří čtyři svazky o pěti listech od strany 186-257 s prázdnou první dvoustranou a prázdnými posledními listy. Možná to ale bude umět i pdfbook, což by se dalo podle názvu očekávat, jen nevím jak.
12.8.2015 11:26 RM
Rozbalit Rozbalit vše Re: tisk knihy
Našel jsem v kalkulátoru hezkou chybu (njn, začátečník). Poku ho tedy někdo použijete, pak si řádek for (@a) { zaměňte za while ( @a > 0 ) {
Ono iterovat pole a hned z něj ukusovat (splice) není zrovna nejlepší :).
12.8.2015 14:49 Klára
Rozbalit Rozbalit vše Re: tisk knihy
12.8.2015 15:37 RM
Rozbalit Rozbalit vše Re: tisk knihy
Díky, vyzkouším to.
11.8.2015 15:59 kubik | skóre: 14 | blog: KubikuvBlog
Rozbalit Rozbalit vše Re: tisk knihy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdysi jsem něco takového taky potřeboval, hledal a našel. Ale co přesně to bylo mám poznamenané doma, teď to nedám. Mám trochu pocit, že to byl pdfbook. Je to příkaz do konsole a asi i balíček dostupný v repozitářích.

Akorát tím seskupováním na těch pět listů, tedy dvacet stran, jestli to chápu správně, si nejsem úplně jistý.
11.8.2015 17:19 RM
Rozbalit Rozbalit vše Re: tisk knihy
jj, pdfbook to opravdu dělá a je to stejně jako pdfnup wrapper pdfjam. Takže super! Jenže se mi nepodařilo najít parametr, aby to vytvářelo svazky jen po pěti listech (pětilistové svazky tj. 20 stran se pak přehnou a svážou/slepí); tedy ne jediný svazek, jak to dělá pdfbook:

pdfbook in.pdf 200-250 --a4paper --offset '0cm 0cm' --delta '0.6cm 0.6cm' --outfile out.pdf

Také vkládání prázdných listů to dělá nějak divně.

pdfbook in.pdf {},200-250 --a4paper --offset '0cm 0cm' --delta '0.6cm 0.6cm' --outfile out.pdf

Pokud chci vložit jeden ({}), tak to vloží čtyři. Mám nějakou starší verzi a v té je nápověda dost strohá. Možná to tedy ve výsledku nějak půjde, jen vědět jak?.
12.8.2015 09:06 kubik | skóre: 14 | blog: KubikuvBlog
Rozbalit Rozbalit vše Re: tisk knihy
Tak si na to udělej skript v bashi, kde budeš mít nějaký cyklus, který v tom příkazu bude měnit ty čísla stránek po těch dvaceti, z každé té dvacítky udělá jeden soubor s unikátním názvem a po skončení cyklu je všechny spojí do jednoho pdf souboru (abys to mohl tisknout naráz a ne třeba deset souborů/svazků).

Nesouvisí ty čtyři prázdné listy s tím, že generuješ dvě strany na jednu a oboustranně? Poněvadž to vkládá prázdný list do tiskárny a ne v tom svazku (tedy polovinu vytištěného papíru)? Pak by se to možná dalo obejít, že tam dáš nejdřív ty prázdné listy a až pak z toho budeš dělat ty svazky. Akorát by to bylo asi nepříjemný počítání, kam je zařadit, prostě žádný automatický proces :-(

Ještě jsem se díval do nějakých svých poznámek z dob, když jsem s tím zápasil. Tehdy jsem to zkoušel pomocí příkazu pstops, asi z balíku psutils. Ale asi to stálo za prd a ten pdfbook (příkaz pdfbook --booklet true -- soubor.pdf) jsem vyhodnotil jako lepší. Ale je fakt, že jsem nedělal svazky, ale jen brožuru.
12.8.2015 09:55 RM
Rozbalit Rozbalit vše Re: tisk knihy
Tak si na to udělej skript v bashi
To mne taky napadlo, ale ve výsledku mi přišlo jednodušší párovat ty stránky pro pdfnup.

...zkoušel pomocí příkazu pstops
Haha, koukam že jsme kráčeli stejnou cestou. Pro A4 formát mi ten záhadnej program nějak fungoval, ale pro A3 formát ani náhodou (což jsem tehdy potřeboval). Takže jsem na něj zanevřel :) a začal jsem používat pdfnup. Nejspíš jsem tehdy zavadil i o pdfbook a potýkal jsem se stejnými problémy jako teď (to jsem ale tisknul jen pár listů); už je to dávno, tak jsem na to zapomněl a v paměti zůstal jen pdfnup, který jsem tenkrát nakonec použil. Mám tedy zatím pocit, že v linuxu není žádný jiný program (utilitka), který by tohle hravě zvládnul, což mne docela překvapuje. Protože BFU si prostě brožurky z pdfka nevytiskne.
wamba avatar 12.8.2015 11:52 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: tisk knihy
Jenže se mi nepodařilo najít parametr, aby to vytvářelo svazky jen po pěti listech (pětilistové svazky tj. 20 stran)
nedělá to --signature něco jako pdfjam --landscape --signature '20' -- pdfpages.pdf -
This would have been so hard to fix when you don't know that there is in fact an easy fix.
12.8.2015 12:06 RM
Rozbalit Rozbalit vše Re: tisk knihy
To jsem zkoušel, ale --signature '20' použité za pdfbook (tedy pak za pdfjam) nic takového nedělá; vytvoří stále jen ten jeden balík -- tj, na prvním listě bude první a poslední stránka ze zadaného rozsahu 200-250.
wamba avatar 12.8.2015 12:28 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: tisk knihy
no mě to tak nedělá, já mám na první dvoustránce strany 1 a 20, na 11 strany 21 a 40 atd.
This would have been so hard to fix when you don't know that there is in fact an easy fix.
12.8.2015 12:46 RM
Rozbalit Rozbalit vše Re: tisk knihy
pdfbook in.pdf 184-250 --signature '20' --a4paper --offset '0cm 0cm' --delta '0.6cm 0.6cm' --outfile out.pdf
respektive
pdfjam --booklet 'true' --landscape --suffix book --signature '20' --a4paper --offset '0cm 0cm' --delta '0.6cm 0.6cm' --outfile out.pdf -- in.pdf 184-250
Co dělam tedy špatně?
12.8.2015 13:00 RM
Rozbalit Rozbalit vše Re: tisk knihy
Příloha:
nee, skutečně slepej nejsem. Teď jsem to vyzkoušel ještě s jiným souborem a takový je výsledek pro rozsah stran 1-40: viz out.pdf.
12.8.2015 13:12 RM
Rozbalit Rozbalit vše Re: tisk knihy
pdfjam version 2.08
wamba avatar 12.8.2015 16:37 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: tisk knihy
zkuste vynechat --booklet 'true'
This would have been so hard to fix when you don't know that there is in fact an easy fix.
12.8.2015 17:14 RM
Rozbalit Rozbalit vše Re: tisk knihy
Funguje to! A dokonce se nechají vložit prázdné stránky. Takže tohle jsem potřeboval. pdfbook by se mělo jmenovat pdfbooklet, protože nic jiného se s tím vytvořit nedá, takhle je to docela matoucí. No nic, alespoň jsem si zablbnul v Perlu :). A zjistil jsem, že těm svazkům se má říkat signatures. Díky.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.