Permesilo Krea Komunaĵo

Serĉilo


Ekzemplo de bitigado

2020-11-29

Tiu ĉi blogero celas priskribi paŝon post paŝo la bitigadon de esperanta periodaĵo pere de malfermitkoda programaro. La enbitigota gazeto estas la lasta numero de Amsterdama Pioniro, aperinta en junio-julio 1908.

<em>Amsterdama Pioniro</em>

Amsterdama Pioniro

Por tiu ĉi laboro mi uzos la sekvajn programojn: ImageMagick, Tesseract kaj Poppler.

La gazeto estis skanita de Carlos ĉe Biblioteko Molera kaj li havigis al mi 11 jpg-bilddosierojn. Krom la unua kaj la lasta, ĉiu dosiero enhavas du paĝojn. Ĉar la unua kaj la lasta paĝo estis skanitaj vertikale (plibonigota afero), mi pritraktos ilin aparte.

Du-paĝa bilddosiero en oblonga formato

Du-paĝa bilddosiero en oblonga formato

Por pli konvene labori mi enmetos la bilddosierojn en apartan dosierujon kaj eniros tiun dosierujon. La unua paŝo estas forigi la blankan parton malsupre de la paĝo. Mi uzas operaton -chop. Eblas uzi ankaŭ la operatoron -crop.

convert Scan*.jpg -gravity south -chop 0x228 -density 200 pg_a_%03d.jpg

Klarigoj: Scan*.jpg estas ĉiuj skanitaj dosieroj. 228px estas la blanka spaco malsupre de la paĝo. Pro tio oni devas uzi la parametron -gravity south. Se la spaco estus en la dekstra parto, uzendus -gravity west. La parametro -density 200 devigas la distingivon al 200 px. La celdosieroj nomiĝos pg_a_001.jpg, pg_a_002.jpg, pg_a_003.jpg, ktp. La parto %03d devigas, ke la sinsekva numerado de la lasta parto de la dosiernomo enhavu 3 ciferojn. Tio gravas, ni poste vidos, por la ordigo de paĝoj. Memorendas, ke pg_a_11.jpg antaŭas al pg_a_3.jpg, ekzemple. Tamen pg_a_003.jpg antaŭas al pg_a_011.jpg. Do, oni devas pensi pri la komputila alfabetordo. Pliaj klarigoj pri operatoro -chop de convert (anglalingve)

Blanka spaco forigita

Blanka spaco forigita

Dua paŝo estas tranĉi la duoblajn paĝojn. Mi denove uzos la komandlinian parametron -chop de convert. Mi uzos du komandliniojn por havigi la du celdosierojn.

convert pg_a*.jpg -gravity south -chop 0x1069 -density 200 pg_b_%03d_b.jpg

convert pg_a*.jpg -gravity north -chop 0x1069 -density 200 pg_b_%03d_a.jpg

Klarigoj: La unua komandlinio forigos la malsupran duonon de ĉiu paĝo (-gravity south). Do, la rezulto estos paĝoj nomitaj pg_b_000_b.jpg, pg_b_001_b.jpg, ktp. pg_b_000_b.jpg enhavos paĝon 3, pg_b_001_b.jpg enhavos paĝon 5, ktp. Mi enmetas aldonon b al la dosiernomoj por neparaj paĝoj kaj a al la dosiernomoj por paraj paĝoj; denove por ordigaj kialoj, ĉar ĉiu nepara paĝo estis en la supra parto de la ankoraŭ ne tranĉita paĝo kaj ĉiu para en la malsupra.

Tranĉitaj paĝoj Tranĉitaj paĝoj

Tranĉitaj paĝoj

Tria paŝo estas dekstrenturni ĉiujn paĝojn. Mi uzos la operatoron -rotate

convert pg_b*.jpg -rotate 90 pg_c_%03d_c.jpg
Vertikalaj paĝoj Vertikalaj paĝoj

Vertikalaj paĝoj

Mi havas nun dosierojn pg_c_000_c.jpg, pg_c_001_c.jpg...pg_c_017_c.jpg. Ĉi foje mi devas aldoni la unuan kaj lastan paĝojn simile tranĉitajn. Mi uzos la nomon pg_c_000_ac.jpg por la unua paĝo kaj pg_c_018_c.jpg por la lasta.

Jam estas tempo por signorekoni ĉiujn bilddosierojn. Mi uzos denove Tesseract. Jen la komandlinio:

for i in pg_c_*.jpeg; do echo $i; tesseract -l epo+nld $i $(basename $i .jpg) pdf; done

Pliaj klarigoj pri Tesseract legeblas en mia antaŭa blogero.

Kaj finfine mi kunigas ĉiujn unupaĝajn PDF-dosierojn per komandlinio:

pdfunite *.pdf amsterdamapioniro.pdf

Tiu ĉi lasta komandlinio uzas programo Poppler. Klarigoj ankaŭ en mia antaŭa blogero.



Automatigilo

Jes, ĉio ŝajnas iom malfacila por kunigi PDF-dosieron, sed eblas fari ĉion aŭtomate per nur unu ordo. Por tio mi pretigis tiun automatigilon. Por malsamaj periodaĵoj sufiĉos iomete ŝanĝi kelkajn valorojn laŭ la paĝgrando.

Kodo de la automatigilo

Kodo de la automatigilo

Eblas elŝuti tiun ĉi aŭtomatigilon kaj la originalajn skanitajn dosierojn per tiu ĉi subajn ligilojn:



Elŝutilo

automatigilo.sh

Skanitaj dosieroj (ZIP-igitaj)


Vidu ankaŭ Iloj por enbitiga laborado

Serĉu en tiu ĉi retejo

© Javier Guerrero, 2009-2020