Журнал LinuxFormat - перейти на главную

LXF163: Сканируем документы

Материал из Linuxformat
Перейти к: навигация, поиск


Учебник

Соз­дай­те ко­пии важ­ных до­ку­мен­тов с gscan2pdf

Хра­не­ние: Все ска­ни­ру­ем

(thumbnail)
Наш эксперт У Ней­ла Бот­ви­ка по ком­пь­ю­те­ру в ка­ж­дой ком­на­те, но он ни­по­чем не ска­жет вам, где на­хо­дит­ся цен­траль­ный сер­вер – по со­об­ра­же­ни­ям безо­пас­но­сти. > За­дай­те ко­ли­че­ст­во и фор­мат ска­ни­руе­мых стра­ниц, а так­же — нуж­но ли рас­по­знать текст сра­зу по­сле ска­ни­ро­ва­ния.

В офи­се Ней­ла Бот­ви­ка нет бу­маж­ных до­ку­мен­тов: он ска­ни­ру­ет их с OCR и пре­вра­ща­ет в тек­сто­вые фай­лы, чи­тае­мые ПО ин­дек­са­ции ра­бо­че­го сто­ла. Ес­ли ве­рить ТВ-про­грам­мам, ко­то­рые я смот­рел в дет­ст­ве, сей­час у нас долж­ны бы­ли быть ле­таю­щие ав­то­мо­би­ли и офи­сы без бу­маж­ных до­ку­мен­тов. Ав­то­мо­би­ли по­ка не ле­та­ют (раз­ве что за ру­лем Брюс Уил­лис), а бу­маг в офи­сах мень­ше не ста­ло. Бы­ло бы здо­ро­во из­ба­вить­ся от всех этих за­яв­лений и про­чих до­ку­мен­тов, при­хо­дя­щих к нам ка­ж­дый день вме­сте с поч­то­вым спа­мом, но в от­ли­чие от по­следнего мно­гие из них под­ле­жат хранению. На двух страницах нам не рас­ска­зать, как стро­ят ле­таю­щие ав­то­мо­би­ли, и мы по­де­лим­ся про­стым спо­со­бом из­ба­вить­ся от до­ку­мен­тов, со­хранив их со­дер­жи­мое. Это не толь­ко эко­но­мит ме­сто, но оно и на­дежнее – ведь циф­ро­вые фай­лы мож­но со­хранить в ре­зерв­ной ко­пии (кто чи­тал про­шлый но­мер Linux Format, зна­ет, чем я поль­зу­юсь для это­го).

По-про­сто­му, скор­ми­те до­ку­мен­ты сканеру и со­храните их в под­хо­дя­щем сжа­том, но универ­саль­ном фор­ма­те, на­при­мер, PNG или PDF, дав им под­хо­дя­щее имя, что­бы по­том лег­ко их най­ти. Но есть и луч­шее ре­шение. К фай­лу изо­бра­жения мож­но до­ба­вить ин­фор­ма­цию, доступ­ную для чтения про­грам­мой ин­дек­са­ции ра­бо­че­го сто­ла, ти­па Meta Tracker в Gnome или Semantic Desktop или Recoll в KDE. Для это­го нуж­но об­ра­бо­тать от­сканиро­ван­ную страницу про­грам­мой оп­ти­че­­ско­­го рас­по­зна­вания тек­ста (OCR), что­бы по­лу­чить тек­сто­вую вер­сию до­ку­мен­та. Эта тек­сто­вая вер­сия хранит­ся в фай­ле вме­сте с изо­бра­жением, обыч­но в фор­ма­те PDF, и при про­смот­ре до­ку­мен­та вы ви­ди­те от­сканиро­ван­ное изо­бра­жение, а по­ис­ко­вая ма­ши­на ра­бо­че­го сто­ла на­хо­дит текст и ин­дек­си­ру­ет его.

Сде­лать это мож­но из команд­ной стро­ки: изо­бра­жение со сканера за­бе­рет scanimage из SANE, тек­сто­вую вер­сию соз­даст про­грам­ма OCR – Cuneiform, GOCR или Tesseract, а объ­е­динит фай­лы ImageMagick. Все это мож­но со­брать в скрипт и де­лать все од­ной ко­ман­дой, до­ба­вив под­держ­ку сканеров с ав­то­по­да­чей или кноп­ку Push для сканиро­вания сле­дую­щей страницы. Мо­же­те сде­лать это са­ми или восполь­зуй­тесь gscan2pdf, ко­то­рая сде­ла­ет это за вас, и до­бавь­те в свой ар­се­нал но­вую гра­фи­че­скую про­грам­му. Ис­ход­ный код име­ет­ся на http://gscan2pdf.sourceforge.net, но при­дет­ся до­бы­вать до­воль­но мно­го за­ви­си­мо­стей (это про­грам­ма на Perl, и кро­ме кли­ент­ских про­грамм для основ­ной ра­бо­ты ей ну­жен на­бор мо­ду­лей Perl), по­это­му на­дежнее бу­дет уста­но­вить ее че­рез менед­жер па­ке­тов ди­ст­ри­бу­ти­ва.

Зна­ком­ст­во с gscan2pdf

За­пусти­те про­грам­му и на­жми­те на кноп­ку Scan [Сканиро­вать], что­бы от­крыть ок­но Scan Options [Па­ра­мет­ры сканиро­вания]. Все за­дан­ные здесь па­ра­мет­ры бу­дут при­ме­нять­ся при сле­дую­щих за­пусках про­грам­мы. По­экс­пе­ри­мен­ти­руй­те с ти­пом сканиро­вания [Scan Type] и раз­ре­шением [Resolution], а так­же с раз­лич­ны­ми движ­ка­ми OCR, что­бы по­нять, ка­кой из них да­ет луч­шие ре­зуль­та­ты. При этом удобнее сна­ча­ла от­клю­чить OCR на вклад­ке Page Options [Па­ра­мет­ры страницы] и толь­ко сканиро­вать, а за­тем про­ве­рять раз­лич­ные на­строй­ки OCR на од­ной и той же от­сканиро­ван­ной ко­пии.

Ос­нов­ные на­строй­ки на вклад­ке Scan Mode [Ре­жим сканиро­вания] – это ре­жим сканиро­вания [Mode] и раз­ре­шение [Resolution]. При сканиро­вании в от­тен­ках се­ро­го [Greyscale] за­тра­чи­ва­ет­ся боль­ше вре­мени и по­лу­ча­ет­ся файл боль­ше­го раз­ме­ра по сравнению со штри­хо­вым ри­сун­ком [lineart]. Для сканиро­вания в пол­но­цвет­ном фор­ма­те нуж­но еще боль­ше ре­сур­сов, по­это­му по­ду­май­те о том, что вам действительно нуж­но – нередко доста­точ­но штри­хо­во­го ри­сун­ка (чер­но-бе­ло­го), к то­му же он обыч­но луч­ше рас­по­зна­ет­ся в текст. Раз­ре­шение для хо­ро­ше­го рас­по­зна­вания обыч­но не долж­но быть менее 400 dpi.

На вклад­ке Page Options [Па­ра­мет­ры страницы] мож­но так­же за­дать ко­ли­че­­ст­во сканируе­мых страниц. При по­да­че страниц в сканер по од­ной уста­но­ви­те его в 1, ес­ли ваш сканер не та­кой, как мой – тот шу­мит доста­точ­но, что­бы ста­ло яс­но: го­лов­ка воз­вра­ща­ет­ся и по­ра встав­лять лист бу­ма­ги, по­ка не на­ча­лось но­вое сканиро­вание. От­сканиро­вав па­ру страниц в gscan2pdf, по­про­буй­те раз­лич­ные движ­ки рас­по­зна­вания тек­ста. За­пусти­те OCR из ме­ню ин­ст­ру­мен­тов, вы­бе­ри­те один из доступ­ных движ­ков OCR, и пусть он де­ла­ет свое де­ло. За­тем за­гляните на вклад­ку OCR Output [Ре­зуль­тат рас­по­зна­вания] и оцените ре­зуль­тат – что­бы про­честь текст, при­дет­ся уве­ли­чить мас­штаб. Что­бы уда­лить текст и по­про­бо­вать дру­гой дви­жок, вы­бе­ри­те Edit > Clear OCR [Прав­ка > Очи­стить текст]. В мо­ей сис­те­ме луч­шие ре­зуль­та­ты дал GOCR, но это, ви­ди­мо, в чис­ле про­че­го за­ви­сит от ка­че­­ст­ва сканируе­мых страниц.

Вы­брав под­хо­дя­щие на­строй­ки сканиро­вания и рас­по­зна­вания, за­дай­те их в окне Scan Documents [Сканиро­вать до­ку­мен­ты] и дви­гай­тесь даль­ше. В кон­це на­жми­те Save [Со­хранить], что­бы со­хранить файл. Луч­ший фор­мат – PDF. Он чи­та­ет­ся поч­ти на всех уст­рой­ст­вах и бу­дет чи­тать­ся еще очень дол­го, к то­му же текст внут­ри него досту­пен для ин­дек­си­ро­вания по­ис­ко­вым сис­те­мам. Со­хранение мо­жет от­нять боль­ше вре­мени, чем вы ожи­да­ли, по­то­му что имен­но сей­час раз­лич­ные изо­бра­жения и тек­сто­вые страницы объ­е­ди­ня­ют­ся в один файл.

Умень­шение раз­ме­ра

Раз­ре­шение для рас­по­зна­вания тек­ста долж­но быть на­мно­го боль­ше, чем для про­смот­ра до­ку­мен­та на эк­ране, ес­ли толь­ко вы не на­ме­ре­ны сма­ко­вать от­дель­ные бу­к­вы, по­это­му фай­лы, ко­то­рые у вас по­лу­чат­ся, бу­дут уве­си­стее, чем нуж­но. Для од­но­го-двух фай­лов это некри­тич­но, но по­множь­те их на ре­гу­ляр­ные бан­ков­ские от­че­ты и выпис­ки с кре­дит­ных карт, ком­му­наль­ные кви­тан­ции и дру­гие бу­ма­ги за год – и вот ваш диск за­бит.

Сэ­ко­но­мить ме­сто мож­но раз­ны­ми спо­со­ба­ми – на­при­мер, сканиро­вание в штри­хо­вом ри­сун­ке вме­сто от­тен­ков се­ро­го зна­чи­тель­но умень­шит раз­мер фай­лов. Бан­ков­ский от­чет в пять страниц, от­сканиро­ван­ный с раз­ре­шением 600 dpi в от­тен­ках се­ро­го, за­нял 29 МБ в PDF-фай­ле; при сканиро­вании в штри­хо­вом ри­сун­ке с тем же раз­ре­шением раз­мер фай­ла умень­шил­ся до 1 МБ, и по­лез­ная ин­фор­ма­ция вся уце­ле­ла. Фор­мат фай­ла то­же мо­жет иметь зна­чение – gscan2pdf под­дер­жи­ва­ет фор­мат DjVu (про­из­но­сит­ся «де­жа вю»), пред­на­зна­чен­ный спе­ци­аль­но для ар­хи­ва­ции циф­ро­вых до­ку­мен­тов с вы­со­ким сжа­ти­ем. В этом фор­ма­те файл за­нял 5 МБ в от­тен­ках се­ро­го и 300 КБ в штри­хо­вом ри­сун­ке – мощ­ная эко­но­мия мес­та! Бо­лее под­роб­ная ин­фор­ма­ция о DjVu при­ве­де­на во врез­ке.

Раз­мер фай­лов мож­но умень­шить и по­сле рас­по­зна­вания, и сде­лать это мож­но по-раз­но­му. Со­хра­няя в фор­ма­те PDF, мож­но снизить чис­ло пик­се­лей на дюйм [PPI] в окне PDF Save [Со­хранение PDF]. Стан­дарт­ное зна­чение – 72; уста­но­вив его в 36, мы вдвое снизим эф­фек­тив­ное раз­ре­шение, умень­шив ко­ли­че­­ст­во пик­се­лей на 75 %. Дру­гая аль­тер­на­ти­ва, един­ст­вен­ная, ес­ли ис­поль­зу­ет­ся дру­гой фор­мат – из­менить раз­мер изо­бра­жений во внешней про­грам­ме. В gscan2pdf есть оп­ция та­ко­го за­пуска, и по умол­чанию бе­рет­ся про­грам­ма GIMP.

Mogrifi-ка­ция

Что­бы из­менить раз­мер изо­бра­жения, мож­но до­ба­вить па­ра­мет­ры к ко­ман­де mogrify из ImageMagick. Mogrify очень по­хо­жа на бо­лее зна­ко­мую ко­ман­ду convert; глав­ное от­ли­чие в том, что пре­об­ра­зо­ван­ное со­об­щение она за­пи­сы­ва­ет не в но­вый файл, а в ори­ги­нал, и по­это­му счи­та­ет­ся небезо­пас­ной. Но мы не да­дим ей во­лю ку­ра­жить­ся над на­ши­ми цен­ны­ми кад­ра­ми, так что про­блем не бу­дет. От­крой­те ок­но Preferences [Свой­ст­ва], на­жми­те на кноп­ку Add [До­ба­вить] в раз­де­ле User-defined [Поль­зо­ва­тель­ские ути­ли­ты] и вве­ди­те ко­ман­ду

mogrify -resize 50% %i

Вас вряд ли уди­вит по­яснение, что эта ко­ман­да снизит раз­ре­шение до 50 % от ис­ход­но­го. Ис­поль­зуй­те лю­бую доста­точ­ную для вас ве­ли­чи­ну – с 25 % и ис­ход­ным раз­ре­шением 600 dpi мы по­лу­чим хо­ро­шо чи­тае­мый файл, зна­чи­тель­но умень­шив его раз­мер. Что­бы из­менить раз­мер страниц, на­жми­те кноп­ку Select All Pages [Вы­де­лить все страницы], за­тем за­пусти­те mogrify из ме­ню Tools > User-defined [Ути­ли­ты > Поль­зо­ва­тель­ские]. При экс­пе­ри­мен­тах с на­строй­ка­ми, та­ки­ми как раз­ре­шение изо­бра­жения и на­строй­ки рас­по­зна­вания, со­хра­няй­те ори­ги­на­лы сканиро­ван­ных изо­бра­жений в PDF. Тогда, ес­ли вам почему-либо не по­нра­вят­ся ре­зуль­та­ты, их мож­но за­гру­зить в gscan2pdf, не сканируя до­ку­мент за­но­во. |

Персональные инструменты
купить
подписаться
Яндекс.Метрика