Pomoc:Obróbka plików graficznych pod Linuksem
Uwaga! Strona jest w trakcie opracowywania. Niektóre informacje mogą być niepełne, a linki mogą kierować do nieistniejących stron. Strona w opracowaniu zgodnie z ustaleniami w Skryptorium. |
Podstawy
edytujOgólne uwagi
edytuj- Ta strona pomocy ma charakter luźnych uwag i wskazówek. Wymienione są różne narzędzia i triki, dzięki którym można osiągnąć zamierzony efekt. Nie jest wyjaśniane, jak wykonać daną czynność krok po kroku ale wskazywany możliwy kierunek.
Konsola
edytuj- O ile użytkownicy windows stosunkowo rzadko używają konsoli (cmd, powershell), o tyle wśród linuksowców jest to bardzo popularne i wygodne narzędzie pracy. Jest to bardzo potężne narzędzie, szybko i precyzyjnie można wykonać stosunkowo skomplikowane działania.
Konieczna wiedza wstępna
edytuj- pomoc dla programów cli
- foo -h lub foo --help
- man foo
- info foo
- wyszukiwarka
- system plików
- cd (zmiana katalogu roboczego)
- mv (zmiana nazwy pliku niebezpieczne)
- rm (usuwanie pliku niebezpieczne)
- względne nazwy pliku ../../foo.baz
- Globing (czyli *, ?, [0-9])
- unikanie spacji w nazwach
- cudzysłowy utrzymujące nazwę
for f in *; do mv "$f" $(echo $f | tr ' ' '_'); done
- tworzenie kolejnych liczb
- {1..12} → 1 2 3 4 5 6 7 8 9 10 11 12
- {08..12} → 08 09 10 11 12
- {33..29} → 33 32 31 30 29
- {2..10..2} → 2 4 6 8 10
- zmienne
- $i
- ${i}
- pętle
- for i in ...; do ...; done
- for (( i=0; i<=10; i+=2 )); do ...; done
- wynik jakiegoś polecenia/programu
- $(...)
- ` ... `
- pipe (potok)
- obliczenia (ewentualnie)
- i=10; echo $((i-1)) → 9
- i=11; echo $((i%2)) → 1
- i=11; echo $((i/2)) → 5
- testy przy pomocy komendy echo
Uzyskanie właściwej kolejności plików
edytuj- Standardowo globing zwraca wszystkie nazwy pasujące do danego wzorca w kolejności alfabetycznej, np.:
for i in foo*.jpg; do echo $i; done
- foo1.jpg foo10.jpg foo11.jpg foo12.jpg foo13.jpg foo14.jpg foo15.jpg foo16.jpg foo17.jpg foo18.jpg foo19.jpg foo2.jpg foo20.jpg foo21.jpg ...
- foo1.jpg foo10.jpg foo11.jpg foo12.jpg foo13.jpg foo14.jpg foo15.jpg foo16.jpg foo17.jpg foo18.jpg foo19.jpg foo2.jpg foo20.jpg foo21.jpg ...
- Jeśli w nazwie występuje tylko jedna liczba, właściwą kolejność można uzyskać przez:
for i in foo[0-9].jpg foo[0-9][0-9].jpg foo[0-9][0-9][0-9].jpg; do echo $i; done
Wiodące zera
edytuj- Oczywiście problem nie wystąpi, gdy liczby mają jednakową długość (są zapisane z zerami):
- foo001.jpg foo002.jpg ... foo893.jpg
- foo001.jpg foo002.jpg ... foo893.jpg
- Przy pomocy poniższych miniskryptów można dostosować nazwy plików:
for i in {0009..1009} ; do k=$(expr $i + 0) ; mv foo$k.jpg bar$i.jpg; done
for x in {9..1009} ; do y=$(printf "%04d\n" $x); mv foo$x.jpg bar$y.jpg; done
a=0000 ; for i in {9..1009}; do k=${a:${#i}:${#a}}${i} ; mv foo$i.jpg bar$k.jpg; done
a=0000; b='foo*.jpg'; for c in $b ; do i=${c:$(($(expr index $b '*')-1)):$((${#c}-${#b} + 1))}; k=${a:${#i}:${#a}}${i} ; echo $i ; mv $c bar$k.jpg; done
- Uwaga: Działa dla jednej liczby w środku nazwy pliku, koniecznie należy wcześniej przetestować.
- Gdy osobno były skanowane/fotografowane strony nieparzyste i parzyste może być konieczne dostawienie dodatkowej cyfry (np. 0 i 5):
for x in {0009..1009} ; do mv foo$x.jpg bar${x}0.jpg; done
Obróbka jednego zdjęcia (skanu)
edytujManualna
edytujPinta – drobne zmiany
edytuj- wśród narzędzi zaznaczenie prostokątne
- Ctrl + C (=kopiowanie do schowka)
- pliki → nowy → nowy obraz (wielkość domyślna wynika z wielkości obrazka znajdującego się w schowku)
- wśród narzędzi pipetka
- wśród narzędzi pędzel
- szerokość pędzla zazwyczaj dużo większa (40-50)
- wśród narzędzi stempel klonujący
- Dostosowanie kolorów
- jasność/Kontrast
- krzywe
- redukcja kolorów
- Obraz
- obrót
- Plik → zapisz jako
Gimp – zaawansowane zmiany
edytujPonieważ szczegółowe omówienie możliwości, jakie daje ten program znacząco by przekroczyło ramy niniejszej strony pomocy, poniżej podane są jedynie najważniejsze użyteczne narzędzia:
- Narzędzia → Narzędzia zaznaczania → Zaznaczenie prostokątne
- Narzędzia → Narzędzia przekształcania → Perspektywa
- Narzędzia → Narzędzia przekształcania → Obrót
- Narzędzia → Narzędzia rysowania → Pędzel
- Plik → Utwórz ze schowka
- Plik → Wyeksportuj jako
Zautomatyzowana
edytuj- Przygotowanie zestawu skanów do zamieszczenia na commons i wykorzystania w projekcie Wikiźródeł może zabrać nam mniej lub więcej czasu i wysiłku. Przy kilku pojedynczych skanach jest z reguły łatwiej przyciąć j interaktywnie (np. Pinta, ew. Gimp). Gdy takich skanów/zdjęć do indywidualnej obróbki jest więcej, jest to żmudne i czasochłonne. Jeśli obrazy mają ten sam układ, można proces zautomatyzować i na przykład z lewej strony każdego obciąć 300 pikseli, zaś z dołu 500... Warto uwzględnić to już przy planowaniu i na przykład robić zdjęcia ze statywu, prostopadle do papieru, nie przesuwając książki względem aparatu przy przekładaniu stron. Albo kłaść tekst na skanerze za każdym razem w tym samym położeniu...
Dzielenie stron na pół
edytuj- Polecenie convert z programu ImageMagick daje dostęp do ogromnej liczby przekształceń obrazów. Poniżej przedstawione będą jedynie te podstawowe, przydatne przy prostej obróbce skanów lub zdjęć zawierających tekst.
convert -crop 50%x100% +repage foo.TIF bar%d.pbm
for i in {10..52} ; do convert -crop 50%x100% +repage foo$i.TIF bar$i%d.pbm ; done
- Powyżej wykonano jednocześnie konwersję do innego formatu. Otrzymuje się z oryginalnego skanu dwie strony. Zmienna %d daje numer części.
Kadrowanie (crop)
edytujconvert foo.jpg -gravity Center -crop 96%x82%-0+60 -rotate 270 -strip bar.jpg
for i in {10..52}; do convert foo$i.jpg -gravity Center -crop 96%x82%-0+60 -rotate 270 -strip bar$i.jpg; done
for i in {10..52}; do convert foo$i.png -gravity Center -crop 96%x82%-0+60 -rotate 270 -strip bar$i.pbm; done
- Odpowiednie parametry przy kadrowaniu trzeba dobrać metodą prób i błędów.
Konwersja plików wielostronicowych (pdf, djvu) do jednostronicowych etc.
edytujWstęp
edytujZasadniczo rzecz biorąc należy takich konwersji unikać, gdyż pliki wielostronicowe są z reguły skompresowane stratnie i kolejne przekształcenie pogorszy jakość.
- Wszystkie strony są przekształcane na pojedyncze obrazki, numerowane trzycyfrowo (001, 002, ...)
convert -density 150 foo.pdf -quality 90 bar-%3d.png
- Jak wyżej ale zmniejszana o 50%
convert -density 150 foo.pdf -quality 90 -resize 50% bar-%3d.png
- Jedna strona (tu strona numer 1 ) jest przekształcana na obrazek w formacie jpg
convert -density 150 foo.pdf[0] -quality 90 bar.jpg
- Uwagi: liczba w nawiasie kwadratowym to numer strony, strony pdf-u są numerowane od zera.
- Strony z zakresu są przekształcane na obrazki w formacie png (strony od 2 do 10 )
convert -density 150 foo.pdf[1-9] -quality 90 bar.jpg
- Należy zwrócić uwagę, że parametr density określa liczbę pikseli wynikowego pliku, musi być podany jako pierwszy (jeszcze przed nazwą pdf-u)
- Alternatywnie można jedną stronę skonwertować do innego formatu graficznego na przykład przy pomocy Gimpa (otworzyć dany plik importując tylko jedną stronę → Plik → Wyeksportuj jako)
DjVu
edytujProgram ddjvu umożliwia konwersję w konsoli do kilku formatów (pbm,pgm,ppm,pnm,rle,tiff). Najlepszą jakość zapewnia z reguły tiff.
- Wszystkie strony są przekształcane na pojedyncze obrazki numerowane kolejno (1, 2, ...)
ddjvu -format=tiff -eachpage foo.djvu bar-%d.tiff
- Jak wyżej ale zmniejszana o 50%
ddjvu -format=tiff -eachpage -scale=50% foo.djvu bar-%d.tiff
- Jedna strona (numer 1 ) jest przekształcana na obrazek w formacie tiff
ddjvu -format=tiff -page=1 foo.djvu bar.tiff
- Zakres stron 1-6 (ale również może być nieciągły np: -page=1-7,23,30-80) jest przekształcany na obrazki w formacie tiff
ddjvu -format=tiff -page=1-6 foo.djvu bar-%d.tiff
- Alternatywnie można jedną stronę skonwertować do innego formatu graficznego przy pomocy DjView4 (File → Export)
Konwersja jednej strony do innego formatu
edytujimg2pdf
edytujimg2pdf --output bar.pdf foo.jpg
- możliwe jest również scalenie wielu stron w jednym kroku:
img2pdf --output bar.pdf foo1.jpg foo2.jpg foo3.jpg
img2pdf --output bar.pdf foo*.jpg
convert (ImageMagick)
edytuj- Uwaga standardowo konwersja do pdf jest niedostępna.[1]
convert -density 300 foo.jpg bar.pdf
- Można również z wielu plików graficznych (obrazków) utworzyć pojedynczy pdf:
convert foo* -page 100%x100% bar.pdf
Ghostscript
edytujgs -sDEVICE=pdfwrite -o bar.pdf /usr/share/ghostscript/9.26/lib/viewjpeg.ps -c \(foo.jpg\) viewJPEG
for i in {117..144} ; do gs -sDEVICE=pdfwrite -o bar$i.pdf /usr/share/ghostscript/9.26/lib/viewjpeg.ps -c \(foo$i.jpg\) viewJPEG ; done
- Wersja (ścieżka) ghostscriptu musi być odpowiednio dostosowana.
→ DjVu
edytujpng pbm tiff
edytujbichromatyczne (czarnobiałe) pbm → DjVu, tif → DjVu
edytujcjb2 -clean foo.pbm bar.djvu
for i in foo*.pbm ; do cjb2 -clean $i ${i##*.}.djvu ; done
png → DjVu
edytuj- Konwersja możliwa przez bezstartny format pośredni (pbm)
convert foo.png baz.pbm ; cjb2 baz.pbm bar.djvu
for i in foo*.png ; do convert $i bar.pbm; cjb2 bar.pbm ${i##*.}.djvu ; done
jpg → DjVu, pgm → DjVu
edytujc44 foo.jpg bar.djvu
for i in foo*.jpg; do c44 $i ${i##*.}.djvu ; done
- Wyższa jakość np.:
c44 -slice 72,83,93,103 foo.jpg bar.djvu
for i in foo*.jpg; do c44 -slice 72,83,93,103 $i ${i##*.}.djvu ; done
- użyteczny bywa również parametr -decibel (od 16 do 48) określający próg rozróżniania pikseli, im wyższy tym wyższa jakość.
didjvu
edytuj- Konwertuje pojedyncze strony do formatu DjVu. Wynikowe pliki są wysokiej jakości i stosunkowo niewielkie.
didjvu encode -clean -d 600 -o bar.djvu foo.tif
- Lub dla uzyskania od razu pliku djvu z całego szeregu skanów:
didjvu bundle -clean -d 600 -o bar.djvu foo*.tif
- Opcja -clean powoduje usunięcie drobnych, z reguły przypadkowych kropek, odpowiada opcji -losslevel 1 . Opcja -d 600 określa rozdzielczość.
Scalanie lub dzielenie plików pdf i djvu
edytujpdftk
edytuj- Scalenie wielu plików pdf
pdftk cat foo*.pdf output bar.pdf
- Rozbicie jednego pliku pdf na pojedyncze strony (pdf)
pdftk foo.pdf burst output bar_%03d.pdf
- kolejne strony (pliki) numerowane bar_001.pdf bar_002.pdf itd.
- Scalenie dwóch plików pdf
pdftk A=foo1.pdf B=foo2.pdf cat A B output bar.pdf
- Wyodrębnienie pierwszych 10 stron pliku
pdftk A=foo.pdf cat A1-10 output bar.pdf
- Wyodrębnienie stron od 10 do 20 i obrót
pdftk A=foo.pdf cat A10-20east output bar.pdf
- Wyodrębnienie pierwszych 10 stron z pierwszego pliku, całego drugiego, stron 17 ÷ 20 z trzeciego i stron 15 ÷ do końca z czwartego
pdftk A=foo1.pdf B=foo2.pdf C=foo3.pdf D=foo4.pdf cat A1-10 B C17-20 D15-end output bar.pdf
- Wtasowanie stron z dwóch plików (np. jeden zawiera strony nieparzyste, drugi – parzyste)
pdftk A=odd.pdf B=even.pdf shuffle A B output bar.pdf
- Wtasowanie stron z dwóch plików ale strony parzyste są w odwrotnej kolejności
pdftk A=odd.pdf B=even.pdf shuffle A Bend-1 output bar.pdf
- Wtasowanie stron z jednego pliku (najpierw strony nieparzyste 1÷X, potem parzyste X+1÷do końca) (niech X będzie 333 )
pdftk A=odd.pdf B=even.pdf shuffle A1-333 Bend-334 output bar.pdf
DjVu
edytujDjView4
edytuj- Po otwarciu pliku można zapisać część pliku (efektywnie podzielić plik):
- File → Save as (wybrać zakres stron)
- Można przeprowadzić konwersję dokumentu pośredniego (indirect) do spakowanego (bundled).[2] Otwierany jest przy tym plik indeksowy i zapisywany jako jeden spakowany dokument.
djvm
edytuj- usunięcie strony 333
djvm -d foo.djvu 333
- dodanie do pliku foo.djvu strony bar.djvu, tak by była na końcu pliku
djvm -i foo.djvu bar.djvu
- dodanie do pliku foo.djvu strony bar.djvu, tak by ta strona miała numer 333 , następne strony są przesuwane
djvm -i foo.djvu bar.djvu 333
- W ten sam sposób, jak powyżej można również scalić dwa wielostronicowe pliki.
- usunięcie strony 333 i dodanie do pliku foo.djvu strony bar.djvu, tak by ta strona miała numer 333
djvm -d foo.djvu 333; djvm -i foo.djvu bar.djvu 333
- Uwaga: Kolejność operacji jest tak dobrana, by numer stron się powtarzał.
- Przy wstawieniu (lub usuwaniu) większej liczby stron warto proces odpowiednio zaplanować, korzystnie jest zaczynać „od góry” by uniknąć potrzeby prowadzenia na bieżąco obliczeń
- scalenie pliku djvu z pojedynczych stron
djvu -c bar.djvu foo*.djvu
- Konwersja jpg → djvu i dołączenie do pliku
c44 bar.jpg baz.djvu; djvm -i foo.djvu baz.djvu; rm. baz.djvu
for i in bar*.jpg; do c44 $i baz.djvu; djvm -i foo.djvu baz.djvu; done; rm baz.djvu
- Nieco lepszy efekt może dać użycie programu didjvu.
Obróbka wielostronicowych plików (na przykład kadrowanie)
edytujObróbka pdf-ów
edytujKadrowanie pliku pdf
edytuj- Co najmniej dwa programy (skrypty) mogą zostać użyte do kadrowania pliku pdf (pdfjam i pdfcrop). Możliwe jest również użycie Ghostscriptu, choć plik wynikowy jest z reguły znacznie większy a polecenie bardziej skomplikowane.
- Poniżej można znaleźć kilka przykładów
pdfjam | pdfcrop |
---|---|
pdfjam --trim '100 0 0 0' --keepinfo foo.pdf -o bar.pdf pdfjam --trim '0 0 100 0' --keepinfo foo.pdf -o bar.pdf |
pdfcrop --margins '-100 0 0 0' foo.pdf bar.pdf pdfcrop --margins '0 0 -100 0' foo.pdf bar.pdf |
- Z reguły pdfjam daje mniejsze pliki i działa szybciej.
- Właściwe marginesy można ustalić metodą prób i błędów (lewy margines, dolny, prawy, górny). Wielkość strony (jeśli cały dokument ma jednolitą wielkość stron) można wyznaczyć przy pomocy:
pdfinfo foo.pdf
- gdzie szukamy wyniku:
Page size: 595.276 x 841.89 pts (A4) (rotated 0 degrees)
- Ewentualnie można skorzystać z polecenia:
pdfinfo foo.pdf | grep "Page size:"
- które nam wyświetli od razu odpowiedni wynik.
Konwersja pliku pdf zawierającego dwie strony na jednym skanie
edytuj- Utworzenie pliku pdf z pojedynczymi stronami, gdy mamy jedynie plik z dwoma stronami na jednym skanie wymaga trzech kroków:
- utworzenia pdf-u ze stronami nieparzystymi przez odpowiednie wykadrowanie
- utworzenie pdf-u ze stronami parzystymi przez wykadrowanie
- połączenie tych plików przy pomocy pdftk
Zmiana rozdzielczości pdf-u
edytujgs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=foo.pdf bar.pdf
- Parametr rozdzielczości (
-dPDFSETTINGS
) może przyjmować jedną z predefiniowanych, poniższych wartości:-dPDFSETTINGS=/screen
– (72 dpi)-dPDFSETTINGS=/ebook
– (150 dpi)-dPDFSETTINGS=/prepress
– (300 dpi)-dPDFSETTINGS=/printer
– (300 dpi)-dPDFSETTINGS=/default
- Parametr rozdzielczości (
Obróbka DjVu
edytujProste operacje
edytuj- Program djvused umożliwia wykonanie prostych operacji z poszczególnymi stronami z pliku djvu np.:
- wycięcie jednej strony (możliwe również przy pomocy DjView)
- obrót strony
- ekstrakcję tekstu
- informacje o wielkości stron
- usunięcie metadanych itp.
- Dla przykładu polececenie:
djvused -e 'select 333; save-page-with p05.djvu'
- wybiera z dokumentu stronę 333 i zapisuje jako osobny dokument.
- zaś polecenie
djvused -e 'select 333; set-rotation +3; save-page-with p05.djvu'
- obraca tę stronę o 3 × 90° w lewo (możliwe wartości 0, 1, 2, 3).
Uwaga ogólna
edytuj- Przy pomocy popularnych narzędzi nie można kadrować plików DjVu, jeśli byłoby to konieczne, należałoby stratnie skonwertować plik do pojedynczych obrazków (tiff) by następnie po obróbce je scalić.
Konwersja pliku djvu zawierającego dwie strony na jednym skanie
edytuj- Niestety konieczna jest konwersja na pliki jednostronicowe (np. tiff) – co się wiąże z pogorszeniem jakości i z utratą warstwy tekstowej, wykadrowanie i scalenie.
ddjvu -format=tiff -page=1 foo.djvu baz.tiff; convert baz.tiff qux.jpg ; c44 qux.jpg bar.djvu; for i in {1..150}; do ddjvu -format=tiff -page=$i foo.djvu baz.tiff; convert -crop 50%x100% +repage baz.tiff baz%d.jpg; c44 qux.jpg baz.djvu; djvm -i bar.djvu baz.djvu; c44 plugh.jpg baz.djvu; djvm -i bar.djvu baz.djvu; done; rm baz.tiff qux.jpg plugh.jpg baz.djvu; djvm -d bar.djvu 1
- Wyjściowy plik to foo.djvu, wynikowy plik to bar.djvu, po drodze są tworzone pliki baz.tiff qux.jpg plugh.jpg baz.djvu . Oczywiście konieczne jest dostosowanie nazw, liczby stron ale i zadbanie by przypadkiem nie było plików tymczasowych o kolidujących nazwach.
- Liczba stron dokumentu powyżej jest podana jako 150 . Można ją ustalić oczywiście otwierając dokument w przeglądarce. Na potrzeby skryptu można liczbę stron ustalić przy pomocy polecenia:
djvused -e n foo.djvu
- Kompletne polecenie miałoby formę:
infile=foo.djvu; outfile=bar.djvu; ddjvu -format=tiff -page=1 $infile baz.tiff; convert baz.tiff qux.jpg ; c44 qux.jpg $outfile; for (( i=1; i<=$(djvused -e n $infile); i++ )); do ddjvu -format=tiff -page=$i $infile baz.tiff; convert -crop 50%x100% +repage baz.tiff baz%d.jpg; c44 qux.jpg baz.djvu; djvm -i $outfile baz.djvu; c44 plugh.jpg baz.djvu; djvm -i $outfile baz.djvu; done; rm baz.tiff qux.jpg plugh.jpg baz.djvu; djvm -d $outfile 1
Konwersja PDF ↔ DjVu
edytujDjVu → pdf
edytujDjView4
edytuj- Przy pomocy DjView4 można wyeksportować cały plik lub jego część do innego formatu (w tym pdf)
- File → Export
ddjvu
edytuj- W linii poleceń można skonwertować plik DjVu do pdf‑ przez polecenie:
ddjvu -format=pdf -quality=85 -verbose foo.djvu bar.pdf
- Plik wynikowy jest stosunkowo duży
djvups i ps2pdf
edytuj- Alternatywnie można skorzystać z polecenia:
djvups foo.djvu | ps2pdf - bar.pdf
PDF → DjVu
edytujpdf2djvu
edytujpdf2djvu foo.pdf -o bar.djvu
- Lepszą jakość i większy plik można uzyskać przez:
pdf2djvu --bg-slices=72,83,93,103 -d 600 foo.pdf -o bar.djvu
DjVuDigital
edytuj- To bardzo efektywny program do kowersji z formatu pdf (lub ps) do djvu. Niestety instalacja wymaga specjalnej wersji Ghostscripta (samodzielnie kompilowanej). Procedura nie jest skomplikowana ale czasochłonna. (por. gsdjvu).
- Wynikowy plik djvu jest wysokiej jakości i z reguły mniejszy, niż otrzymywany innymi metodami
- Należy jeszcze dodać, że w przypadku plików zawierających obrazki w formacie JPEG2000 (inaczej JPX) inne metody nie prowadzą do celu.
Ściągawka
edytujobrazek | djvu | ||
---|---|---|---|
obrazek | Pinta Gimp convert |
Gimp convert
|
c44 cjb2 didjvu |
Gimp convert |
pdftk pdfjampdfcrop (kadrowanie) pdfjampdfcrop + pdftk ( → ) ghostscript (redukcja rozdzielczości) |
(scalanie, dodawanie⁄usuwanie stron)pdf2djvu DjVuDigital | |
djvu | DjView4 ddjvu |
DjView4 ddjvu
djvups + ps2pdf |
DjView4 | (djvu z zakresu stron wyjściowego pliku)
djvm djvused (ekstrakcja strony, obracanie strony) ddjvu + convert + c44cjb2 + djvm (kadrowanie, → ) | (scalanie, dodawanie⁄usuwanie stron)
- ↑ Należy:
- Znaleźć /etc/ImageMagick-6/policy.xml i otworzyć (z uprawnieniami administratora sudo)
- Zmienić
policy domain="coder" rights="none" pattern="PDF"
policy domain="coder" rights="read|write" pattern="PDF"
- Znaleźć /etc/ImageMagick-6/policy.xml i otworzyć (z uprawnieniami administratora sudo)
- ↑ Dokument pośredni składa się z pliku indeksowego i wielu plików .djvu, z których każdy odpowiada jednej stronie. Plik spakowany zawiera cały dokument w jednym pliku – tak, jak jest to używane przy wysyłaniu na Commons.