Portál AbcLinuxu, 7. května 2024 16:44

Skriptík pro extrakci části DJVU souboru

3.10.2009 14:17 | Přečteno: 1268× | Linux | Výběrový blog

Občas se mi stane, že potřebuji vyextrahovat z DJVU souboru několik (souvislých) stránek do zvláštního souboru. Typicky se jedná o situaci, když mám naskenováno několik článků z jednoho sborníku v jediném souboru a potřebuji je „rozsekat“ tak, aby každý článek byl v jednom souboru. Dnes jsem se konečně rozhodl, že už to nebudu šolíchat ručně, překonal vrozenou lenost a vytvořil si na to jednoduchý skriptík.

Tady je (djvu_extract_range.sh):

#!/bin/sh

# $1 - IN.djvu
# $2 - OUT [basename]
# $3 - from
# $4 - to

if test $# -le 3; then
 echo "djvu_extract_range.sh <IN.djvu> <OUT_base_name> from to" 1>&2
 exit -1
fi

if test $4 -lt $3; then
 echo "invalid range!" 1>&2
 exit -1
fi

 I=$3; J=1
 while test $I -le $4 ;
 do
  echo "$2 [$I] >> $2-$J.djvu" 1>&2
  djvused $1 -e "select $I; save-page $2-$J.djvu"

  if test $J -eq 1; then
    djvm -c $2.djvu $2-1.djvu
  else
    djvm -i $2.djvu $2-$J.djvu $J
  fi

  rm -f $2-$J.djvu

  I=$(($I+1))
  J=$(($J+1))
 done

Užití je jednoduché: 1. parametrem je jméno souboru, ze kterého extrahujeme (včetně přípony), 2. parametrem basename vytvářeného souboru (tj. bez přípony .djvu; jednotlivé stránky se pak budou jmenovat $lt;basename$gt;-$lt;page$gt;.djvu) a poslední dva parametry udávají první a poslední extrahovanou stránku. Příklad:

djvu_extract_range.sh sbornik.djvu clanek 3 15

vybere ze souboru sbornik.djvu stranky 3 až 15 a vytvoří z nich soubor clanek.djvu. BACHA, skript neřeší spoustu věcí a zapisuje si pomocné soubory do aktuálního adresáře (takže např. přepíše a následně smaže soubor clanek-1.djvu etc.)

       

Hodnocení: 67 %

        špatnédobré        

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

Komentáře

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

Vložit další komentář

3.10.2009 14:48 jan.xxx
Rozbalit Rozbalit vše Re: Skriptík pro extrakci části DJVU souboru
Odpovědět | Sbalit | Link | Blokovat | Admin

A jak převádíte scan do DeJaVu? Jste spokojen s formátem DeJaVu?

Petr Tomášek avatar 3.10.2009 15:13 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Skriptík pro extrakci části DJVU souboru
A jak převádíte scan do DeJaVu?

Mám na to několik takovýchto udělátek ;-) jeden na převod pdf → djvu, další na přímé skenování a další na převod mailů s naskenovanými TIFF-y z kopírky. Ale to by asi stálo za nějaký článek (a znamenalo by to ty skriptíky trochu vyčistit, aby byly publikovatelné). Už se na to chystám pár let :-(

Jste spokojen s formátem DeJaVu?

Jsem. Pro mé účely ideální, soubory jsou malé (a mj. důsledkem toho) zobrazování velmi rychlé...

multicult.fm | monokultura je zlo | welcome refugees!
3.10.2009 16:03 kilinux
Rozbalit Rozbalit vše Re: Skriptík pro extrakci části DJVU souboru

Nejlepe pomoci gscan2pdf ... Umi toho opravdu hodne!

4.10.2009 22:34 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Skriptík pro extrakci části DJVU souboru
Jó, kdybych jen tak měl tu pumpičku na čas a stíhal vše co bych chtěl.. Počti si o DjVuLibre na české wikibooks.

Založit nové vláknoNahoru

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