pdf2djvu — tworzy pliki DjVu z plików PDF
pdf2djvu
[ { -o
| --output
} plik-wyjściowy-djvu
] [opcja
...] plik-pdf
...
pdf2djvu
{ -i
| --indirect
} plik-indeksowy-djvu
[opcja
...] plik-pdf
...
pdf2djvu
{ --version
| --help
| -h
}
Program ten tworzy plik DjVu na podstawie jednego lub więcej plików w formacie Portable Document Format.
pdf2djvu przyjmuje następujące opcje:
-o
, --output=plik-wyjściowy-djvu
Utwórz spakowany dokument wielostronicowy. Zapisz wynik do
zamiast na standardowe wyjście.
wyjściowego-pliku-djvu
-i
, --indirect=indeksowy-plik-djvu
Utwórz rozdzielony dokument wielostronicowy. Jako nazwy pliku indeksowego
użyj
;
pliki składowe umieść w tym samym katalogu. Katalog musi istnieć z prawami
do zapisu.
pliku-indeksowego-djvu
--page-id-template=szablon
Określa schemat nazewnictwa identyfikatorów stron. Opis języka szablonów znajduje się w rozdziale „Język szablonów”.
Domyślny szablon to „p{page:04*}.djvu
”.
Aby umożliwić przenośność, identyfikatory stron:
muszą składać się tylko z małych liter ASCII, cyfr, znaków
_
, +
, -
i kropki,
nie mogą zaczynać się od znaku +
, -
ani kropki,
nie mogą zawierać dwóch kropek z rzędu,
muszą kończyć się rozszerzeniem .djvu
lub
.djv
.
--page-id-prefix=prefiks
Równoważność
„--page-id-template=
”.
prefiks
{page:04*}.djvu
--page-title-template=szablon
Określa schemat tytułów stron. Opis języka szablonów znajduje się w rozdziale „Język szablonów”.
Domyślny szablon to „{label}
”.
--no-page-titles
Nie ustawiaj tytułów stron.
-d
, --dpi=rozdzielczość
Określa, że pożądaną rozdzielczością jest
rozdzielczość
punktów na cal. Domyślną wartością
jest 300 dpi. Dopuszczalny zakres to: 72 ≤
rozdzielczość
≤ 6000.
--media-box
Do określenia rozmiaru strony użyj MediaBox. Domyślnie używane jest CropBox.
--page-size=szerokość
xwysokość
Określa, że preferowanym rozmiarem strony jest
szerokość
pikseli ×
wysokość
pikseli. Faktyczny rozmiar strony może
zostać zmieniony, by zachować proporcje obrazu i wymogi DjVu
dot. rozdzielczości. (Ta opcja ma pierwszeństwo nad
-d
/--dpi
.)
--guess-dpi
Spróbuj odgadnąć pierwotną rozdzielczość poprzez ogląd osadzonych obrazów. Używać ostrożnie.
--bg-slices=n
+…
+n
, --bg-slices=n
,…
,n
Określa jakość kompresji warstwy tła IW44. Opcja ta jest podobna do opcji
-slice
programu c44. Szczegóły znajdują
się w podręczniku c44(1). Domyślną wartością jest
72+11+10+10
.
--bg-subsample=n
Określa współczynnik podpróbkowania tła. Domyślną wartością jest 3. Dopuszczalne wartości to liczby całkowite od 1 do 12 włącznie.
--fg-colors=default
Staraj zachować się wszystkie kolory pierwszego planu. Tak jest domyślnie.
--fg-colors=web
Zredukuj kolory pierwszego planu do palety WWW (216 kolorów). Ta opcja nie jest zalecana.
--fg-colors=n
Użyj GraphicsMagicka do zredukowania do n
liczby
różnych kolorów na pierwszym planie. Dopuszczalne wartości to liczby
całkowite od 1 do 4080. Ta opcja nie jest zalecana.
--fg-colors=black
Odrzuć informacje o kolorach pierwszego planu.
--monochrome
Rastruj strony jako dwukolorowe bitmapy. W takim wypadku opcje
--bg-
i
…
--fg-
nie są respektowane.
…
--loss-level=n
Określa agresywność kompresji stratnej. Domyślną wartością jest 0 (kompresja
bezstratna). Dopuszczalne wartości to liczby całkowite od 0 do 200
włącznie. Opcja ta jest podobna do opcji -losslevel
programu cjb2; szczegóły znajdują się w podręczniku
cjb2(1) . Opcja ta może być używana tylko razem z opcją
--monochrome
.
--lossy
Synonim --loss-level=100
.
--anti-alias
Włącz antyaliasing fontów i grafiki wektorowej. Ta opcja nie jest zalecana.
--no-metadata
Nie wyodrębniaj metadanych.
Domyślnie:
Wyodrębniane są następujące hasła słownika informacji o dokumencie:
Title
, Author
,
Subject
, Creator
,
Producer
, CreationDate
,
ModDate
. Zapisy daty i czasu są formatowane wg RFC 3999, z datą i czasem
oddzielonymi pojedynczą spacją.
Metadane XMP są wyodrębniane (lub tworzone) i odpowiednio aktualizowane.
W przypadku wielu dokumentów wejściowych, tylko metadane pierwszego z nich są brane pod uwagę.
--verbatim-metadata
Zachowaj oryginalne metadane bez zmian.
--no-outline
Nie wyodrębniaj konspektu dokumentu.
--hyperlinks=border-avis
Spraw, by ramki hiperłączy były zawsze widoczne.
Domyślnie ramka hiperłącza jest widoczna tylko gdy nad nim znajduje się kursor myszki.
--hyperlinks=#RRGGBB
Wymuś określony kolor ramki hiperłączy.
--no-hyperlinks
, --hyperlinks=none
Nie wyodrębniaj hiperłączy.
--no-text
Nie wyodrębniaj tekstu.
--words
Wyodrębniaj tekst. Zapisz położenia każdego słowa. Tak jest domyślnie.
--lines
Wyodrębniaj tekst. Zapisz położenia każdej linii, a nie każdego słowa.
--crop-text
Nie wyodrębniaj tekstu, który znajduje się poza granicami strony.
--no-nfkc
Nie stosuj normalizacji NFKC, z wyjątkiem znaków z bloku Alfabetycznych Form Prezentacyjnych (U+FB00–U+FB4F), które są normalizowane bezwarunkowo.
Domyślnie normalizacja NFKC stosowana jest do wszystkich znaków.
--filter-text=linia-poleceń
Przefiltruj tekst przez linię-poleceń
. Dany filtr
musi zachowywać białe znaki, znaki kontrole i cyfry dziesiętne.
Opcja ta implikuje --no-nfkc
.
-p
, --pages=zakres stron
Określa strony przeznaczone do
konwersji. zakres-stron
jest oddzielaną
przecinkami listą podzakresów. Każdy podzakres to albo pojedyncza strona
(np. 17
), albo ciągły zakres stron
(np. 37-42
). Numery stron nie mogą się powtarzać. Strony
numerowane są od 1.
Domyślnie konwertowane są wszystkie strony.
Następujące zmienne środowiskowe mają wpływ na działanie pdf2djvu w systemach uniksowych:
OMP_*
Zachowanie programu pod względem współbieżności można kontrolować za pomocą kilku zmiennych środowiskowych. Szczegóły opisane są w specyfikacji API OpenMP.
TMPDIR
pdf2djvu intensywnie używa plików tymczasowych. Są one
składowane w katalogu określonym przez tę zmienną. Domyślną wartością
jest/tmp
.
Język szablonów jest z grubsza wzorowany na składni formatowania napisów w języku Python.
Szablon to kawałek tekstu zawierający pola, otoczone
klamrami {
}
. Kiedy szablon jest
wyliczany, pola zastępowane są odpowiednio sformatowanymi
wartościami. Ponadto ciąg {{
jest zastępowany pojedynczym
{
a ciąg }}
— pojedynczym
}
.
Każde pole składa się z nazwy zmiennej, po której opcjonalnie następuje przesunięcie, po którym opcjonalnie następuje specyfikacja formatu.
Przesunięcie jest liczbą całkowitą ze znakiem (tj. zaczynającą się znakiem
+
lub -
).
Specyfikacja formatu składa się z dwukropka, po którym następuje specyfikacja szerokości.
Specyfikacja szerokości jest liczbą całkowitą definiującą minimalną
szerokość pola. W przypadku braku definicji, szerokość zostanie określona na
podstawie treści. Poprzedzenie specyfikacji szerokości zerem
(0
) powoduje dopełnianie zerami.
Po specyfikacji szerokości może opcjonalne nastąpić znak gwiazdki
(*
), który zwiększa minimalną szerokość pola do
największej możliwej długości zawartości zmiennej.
Jeżeli nie użyto opcji --monochrome
, pdf2djvu używa
następującego naiwnego algorytmu separacji warstw:
Dla każdej strony wykonaj co następuje:
Zrastruj stronę do mapy pikseli w zwykły sposób.
Zrastruj stronę do innej mapy pikseli, z pominięciem następujących elementów strony:
tekst,
obrazy rastrowe o głębokości 1 bit na piksel,
elementy wektorowe (oprócz wypełnień o dużej powierzchni).
Porównaj obie mapy pikseli, piksel po pikselu:
Jeżeli kolory się zgadzają, zaklasyfikuj piksel jako część warstwy tła.
W przeciwnym wypadku, zaklasyfikuj piksel jako część pierwszego planu.
Błędy znalezione w pdf2djvu proszę zgłaszać w systemie śledzenia problemów lub na liście dyskusyjnej.