My pocketmod DIY hack

Привіт!

Знову пишу про те що змайстрував вчора.

Шукав всяке D.I.Y.-не надибав www.pocketmod.com ну і стало ж мені цікаво, що там і як воно працює. Згенерував на сайті я собі органайзер, склав, і подумав, що було б набагато краще, згенерувати таке собі самому! Під свої, вузкопрофільні потреби!

Багато є різних шаблонів, але то все не то, вирішив зробити сам.

З першу захотів зробити книжечку для читання. Оскільки в кишенькових органайзерах є місце для різноманітних книжок, то чому б думаю я не зробити для читання собі книжки текстів з нету, які не встигаєш читати за компом, друкувати жалко паперу (бо багато сторінок) і це не екологічно (так я назву свою “жадібність паперу”) 🙂

Тож, до роботи!

Книжечка 8 сторінкова, така специфіка складання pocketmod. Працювати буду з psutils (є версія в L. і для W. також є) у кого немає той може взяти і почитати тут а версія для W. тут. Хто щасливий використовувати Debian робить

apt-get install psutils

Взагалі це дуже цікавий і корисний пакет, для роботи з PS та PDF файлами. Рекомендую прочитати статтю Андрія Носова про друк з psutils різних корисних А5 книжечок, написану ще 2004 року, і яка не втратила актуальність і зараз. За допомогою цієї статті я ознайомився з цим пакетом програм, та друкую тепер собі А5-книжки.

Так от, знову про pocketmod і мій D.I.Y-hack його на предмет генерації книжечок для читання за типом off-line e-book для мого off-line органайзера. 🙂

Щоб зробити одну 8-сторінкову книжечку потрібно з файлу ps книжечки якоїсь вибрати 8 сторінок (наприклад 1-8, 9-16, 17-24…) і роздрукувати. Як зробити PS-файл, спитає хтось…у всіх різні шляхи, але найпоширеніші:

  • надрукувати через віртуальний постскрипт-принтер (CUPS, Adobe та інші) з улюбленого ПЗ у ОС яка може це зробити (наприклад у L/W/M);
  • згенерувати за допомогою LaTeX (MiTeX, TeTeX, TeXLive) хто чим може (це окрема ступінь майстерності IT-користувача);
  • конвертувати готовий PDF (наприклад закачаний файл з мережі, чи згенерований з OpenOffice) чи будь якого ПЗ яке це може зробити;
  • за допомогою різноманітних маленьких програмок чи навіть великих 🙂 головне отримати багато сторінковий ps-файл

Знову зійшов зі шляху через балачки. 🙂 Треба з файлу вибрати перших 8 сторінок, робимо це так:

psselect -p1-8 knizhka.ps knizhka1-8.ps

(за допомогою psselect з пакету psutils вибрали (-р1-8) 8 сторінок з початку файла knizhka.ps та записали ці сторінки у новий файл knizhka1-8.ps)

Далі, оскільки друк 8 сторінок треба розташувати на 1 А4 листі, і 4 сторінки треба щоб були до гори ногами:) тоб то у перевернутому на 180 градусів вигляді, а також саме розміщення сторінок відбувається “ялинкою” (визначено дослідним шляхом!) то відформатуєм файл knizhka1-8.ps у такий спосіб, щоб при складанні pocketmod у нас вийшла нормальна послідовність сторінок. Послідовність визначена дослідженням, у процесі якого було знайдено декілька комбінацій (кому цікаво зможе експериментувати на файлі з нумерацією сторінок).
Робимо:

psselect -p2,8,4,6,5,7,3,1 knizhka1-8.ps knizhka1-8_sort.ps

У нас вийшов ps-файл з необхідною послідовністю сторінок, але ще рано його друкувати, треба щоб 4 сторінки були на 180 градусів повернуті відносно інших 4-х.

Якщо подивитись на таблицю розміщення сторінок у pocketmod то можна побачити, що сторінки 1, 8, 7, 6 ідуть в нормальному вигляді, а 2, 3, 4, 5 у перевернутому. Файл knizhka1-8_sort.ps має послідовність сторінок 2,8,4,6,5,7,3,1 і о чудо! першою іде друга сторінка, третьою 4 і так далі, що дає нам можливість!!! повернуту всі не парні (ті що не діляться на 2:), ті що чьотниє і не чьотниє:) корочще кажучи 1,3,5,7) сторінки на 180 градусів 1 командою:

pstops -pa4 '2:0,1U(21cm,29.7cm)' knizhka1-8_sort.ps knizhka1-8_rotate.ps

(детальніше про роботу програми pstops читати тут або через пошук у одному з не багатьох пошуковому сервісі:) )

Якщо переглянемо файл knizhka1-8_rotate.ps то побачимо те що в нас вийшло, що в принципі і прагнули, повернути на 180 градусів 4 сторінки.

Далі справа за малим, надрукувати все це нарешті на листок

psbook knizhka1-8_rotate.ps | psnup -l -pa4 -8 -d1 >fine_knizhka1-8.ps

  • psbook – розкладає сторінки в порядку “ліва-права” та якщо файл не містить 8 сторінок додає пустих (тут додатково буде інформація нижче!!!));
  • Пропускаємо через “тунель(конвеєр)” | що дає змогу не створювати ще один проміжний файл