Еще один способ подготовки копии конспекта лекцийВопрос о том, где же добыть лекции, мучает каждого студента перед сессией. Вообще говоря, я не знаю, может быть в других институтах дело обстоит иначе, но у нас где-то с третьего курса началась такая мода у преподавателей, читать все по-своему. То есть, название у курса похожее на традиционное ("Уравнения математической физики"), например, а читается он не так, как обычно. В итоге оказывается, что учебников, которые хоть как-то похожи на читаемый курс, в библиотеке всего два и достать их уже нет никакой возможности. Я сам до третьего курса обходился только учебниками и книгами. Но потом, перед очередным экзаменом, как-то вдруг оказалось то, что преподаватель и я как-то расходимся во мнениях относительно того, что из себя представляет предмет и одному из нас придется к критической дате свои воззрения поменять. Понятно, кстати, кому. Я тогда достал себе лекции и за три дня, держась на одном только кофе и сидя с 7 утра до 10 вечера над абсолютно новым, как оказалось, предметом, все-таки понял, что хотел сказать преподаватель. Это далось с трудом и некоторыми потерями, но сказалось на мне так, что в следующем семестре я ходил на самые скушные лекции одного из наших преподавателей (на остальные все-таки не получалось) и записывал их от слова "Здравствуйте" до слов "Лекция закончена" включительно. Надо сказать, что эти лекции слушать (и записывать) было еще большим героизмом, чем за три дня "переучиться" по новому. Самое трудное было не уснуть, потому что преподаватель читал тихо и скучно, паузы между словами иногда исчислялись минутами, но я честно исписал все. Оставшиеся два семестра этого курса к этому преподавателю я на лекции не ходил совсем (как, впрочем, и на семинары по тому же курсу --- выработалось стойкое отвращение), но с лекциями надо было что-то делать. Мне никогда не нравились отксерокопированные лекции, потому что читать разворотами неудобно да и просто эстетически неприятно. Поэтому я решил попробовать сканировать лекции в чернобелом формате (бит на пиксель) и посмотреть что из этого получится. Получилось замечательно: распечатки смотрелись не хуже, чем ксерокс, а учитывая то, что с полученными файлами можно делать все что хочется, то можно было попытаться получить что-то более "красивое", чем обычные развороты. Мне хотелось получить что-то такое, что можно было бы распечатать, скрепить посередине, и получить "книжку", которую было бы удобно читать где угодно. Для этого я написал программу, которую сам для себя назвал mkBook (ссылки для скачивания внизу страницы). Технология ее использования следующая. Сканируете страницы тетради по одной (или потом придется резать; хотя, можно сканировать парами, указать ключ поворота и потом получится брошюрка, которую придется читать сверху вниз) и сохраняете в чернобелые pcx или tiff, указывая номера: lect0001.tif, lect0002.tif и т.д. Я делал это при помощи FineReader'а. Потом запускаете на полученные файлы мою программку, например, так: mkBookVC lect%04i.tif out%04i%c.tif 100 mkBookVC --- название исполняемого файла; VC означает, что скомпилировано MSVC (изначально оно собиралось cygwin'ом). lect%04i.tif --- формат названий входных файлов. Для тех, кто знаком с C и функцией printf (точнее, sprintf) то эта строка просто подставляется в качестве форматной. Для тех, кто не знаком, поясню: вместо '%04i' подставляется некоторое число, состоящие из 4 цифр (0001, 0023, 1289 и т.д.). Число --- номер страницы. Аналогично с выходными файлами. Только там %04i означает номер страницы, а %c --- сторону листа (будет подставлено 'a' для лицевой и 'b' для внутренней). Порядок ИМЕЕТ значение, т.е. нельзя указать out%c%04i.tif, сначала число, потом сторона. Последний аргумент --- число страниц. Страницы нумеруются с 1 до этого числа включительно. Пример выше означает, что будут обрабатываться файлы lect0001.tif, ..., lect0100.tif и будут созданы файлы out0001a.tif, ..., out0050b.tif. Как печатать результат, я думаю, каждый догадается сам. Еще остались ключи, которые позволяют проделать различные "эффекты". Ключ "-s 10" означает, что между страницами на листе будет сделано "пустое место" 10% от общей ширины листа (листом считается 2 максимума от ширины правой и левой части). Ключ "-m" позволяет размещать на листе не 4 страницы, а 8. Это делается за счет того, что две последовательные страницы размещаются друг за другом на странице результата (сделано для лекций, записанных очень крупным почерком). Ключ "-r 90" указывает программе на то, что требуется поворот изображения на 90 градусов (уже не помню в какую сторону ;) ) перед обработкой. Ключ "-f" позволяет указать формат выходных файлов (tiff, pcx, bmp). Программку я отдаю вместе с исходным текстом, делайте с ней, что хотите. Только не надо рассматривать ее как пример программирования: она писалась и изменялась только перед сессией в моменты, когда уже требовалось что-то распечатать, поэтому и написана так... Для того, что бы скомпилировать, потребуется библиотека LeadTools, которую я никому не раздаю. Необходимые DLL лежат отдельным файлом ниже. Надо сказать, что сейчас я бы сделал все это по другому: простым скриптом на Perl'е, который бы вызывал ImageMagic, но это другой разговор. Для меня эта программа потеряла актуальность, а кому-то, возможно, еще пригодится. Надо сказать, что за последние два курса у меня есть все лекции в отсканированном варианте. Я снабжал, наверно, четверть потока лекциями (если не больше) и не раз выслушивал добрые слова за программку и результаты ее работы. Так что, думаю, она еще пригодится нынешним студентам. Успехов в сдаче сессии! Скачать
PSНадо сказать, что программка не понимает графических файлов, сжатых LZW (это ограничение LeadTools). Поэтому надо следить, что бы у вас не получились tiff'ы, сжатые этим методом (такое может случиться, например, при использовании PhotoShop'а). Мой совет: используйте на входе pcx, его все программы делают одинаково.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
© 2000-2008, Andrey L. Kalinin mailto:andrey@kalinin.ru |
|