Progetto:Trascrizioni/Routine DjvuLibre/Djvudump

DjView modifica

La routine DjView è più che un visualizzatore di file djvu; oltre alle immagini delle pagine, consente, in ogni pagina, di esplorare i vari "strati" di cui la pagina è costituita (compreso l'eventuale "hidden text", il testo - e consente anche di visualizzare le altre informazioni (metadati generali, metadati di ogni pagina, annotazioni, dimensioni delle imagini delle singole pagine, ecc.).

Permette inoltre la conversione dei file da "bundled" (monoblocco) a "indirect" (a pagine singole, gestite da un file principale), per tutto il file o per gruppi selezionati di pagine; permette inoltre l'esportazione delle immagini in differenti formati.

Djvudump modifica

La ruotine stampa un set completo di informazioni sulla struttura del file djvu, pagina per pagina.

djvudump lincoln.djvu >test.txt

Il comando genera un testo piuttosto lungo, di cui si rappresentano qui solo i dati iniziali (testata e dati delle prime due pagine):

  FORM:DJVM [1707414] 
    DIRM [725]        Document directory (bundled, 82 files 82 pages)
    FORM:DJVU [99509] {abramolinco3118agre_0001.djvu} [P1]
      INFO [10]         DjVu 1954x3315, v25, 500 dpi, gamma=2.2
      CIDa [36] 
      Sjbz [64843]      JB2 bilevel data
      FG44 [5189]       IW4 data #1, 100 slices, v1.2 (color), 163x277
      BG44 [3355]       IW4 data #1, 74 slices, v1.2 (color), 652x1105
      BG44 [5507]       IW4 data #2, 10 slices
      BG44 [1947]       IW4 data #3, 4 slices
      BG44 [18549]      IW4 data #4, 9 slices
    FORM:DJVU [2235] {abramolinco3118agre_0002.djvu} [P2]
      INFO [10]         DjVu 1747x2620, v25, 500 dpi, gamma=2.2
      CIDa [36] 
      Sjbz [226]        JB2 bilevel data
      FG44 [178]        IW4 data #1, 100 slices, v1.2 (color), 146x219
      BG44 [739]        IW4 data #1, 74 slices, v1.2 (color), 583x874
      BG44 [245]        IW4 data #2, 10 slices
      BG44 [31]         IW4 data #3, 4 slices
      BG44 [637]        IW4 data #4, 9 slices
      TXTz [53]         Hidden text (text, etc.)

Le cose che interessano per un'eventuale elaborazione automatica del layer testo sono:

  1. il numero di pagine;
  2. la presenza o assenza di un "hidden text" (in pagina 1 non c'è; in pagina 2 c'è).

Siccome il testo è formattato con regolarità, è possibile estrarre, con python o un altro programma, ogni informazione, scorrendolo riga per riga e cercando i dati come si sa fare (una regex o una ricerca di sottostringa).