STRESZCZENIE
-
pdf2djvu [{-o | --output} plik-wyjściowy-djvu] [opcja...] plik-pdf...
- pdf2djvu {-i | --indirect} plik-indeksowy-djvu [opcja...] plik-pdf...
- pdf2djvu {--version | --help | -h}
- pdf2djvu {-i | --indirect} plik-indeksowy-djvu [opcja...] plik-pdf...
OPIS
OPCJE
pdf2djvu przyjmuje następujące opcje:
Typ dokumentu, nazwy plików
-o, --output=plik-wyjściowy-djvu
- Utwórz spakowany dokument wielostronicowy. Zapisz wynik do wyjściowego-pliku-djvu zamiast na standardowe wyjście.
-i, --indirect=indeksowy-plik-djvu
- Utwórz rozdzielony dokument wielostronicowy. Jako nazwy pliku indeksowego użyj pliku-indeksowego-djvu; pliki składowe umieść w tym samym katalogu. Katalog musi istnieć z prawami do zapisu.
--page-id-template=szablon
-
Określa schemat nazewnictwa identyfikatorów stron. Opis języka szablonów znajduje się w rozdziale
BqJĘZYK SZABLONÓW".
Domyślny szablon to Bqp{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ść Bq--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
BqJĘZYK SZABLONÓW".
Domyślny szablon to Bq{label}".
--no-page-titles
- Nie ustawiaj tytułów stron. Równoważność Bq--page-title-template=".
Rozdzielczość, wielkość strony
-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.
Jakość obrazu
--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.
Wyodrębnianie
--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 m[blue]RFC 3999m[][1], z datą i czasem oddzielonymi pojedynczą spacją.
- • Metadane XMP są wyodrębniane (lub tworzone) i odpowiednio aktualizowane.
-
Uwaga
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
m[blue]NFKCm[][2], z wyjątkiem znaków z
m[blue]bloku Alfabetycznych Form Prezentacyjnychm[][3]
(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.
Wydajność
-j, --jobs=n
- Użyj n wątków do przeprowadzenia konwersji. Domyślnie używany jest jeden wątek.
-j0, --jobs=0
- Określ liczbę wątków używanych do przeprowadzenia konwersji automatycznie.
Gadatliwość, pomoc
-v, --verbose
- Wyświetlaj więcej komunikatów informacyjnych podczas konwersji pliku.
-q, --quiet
- Nie wyświetlaj komunikatów informacyjnych podczas konwersji pliku.
--version
- Wyświetl informację o wersji i wyjdź.
-h, --help
- Wyświetl pomoc i wyjdź.
ŚRODOWISKO
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 m[blue]specyfikacji API OpenMPm[][4].
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
Składnia szablonów
Język szablonów jest z grubsza wzorowany na m[blue]składni formatowania napisów w języku Pythonm[][5].
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 }.
Składnia pól
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.
Dostępne zmienne
dpage
- Numer strony w dokumencie DjVu.
page, spage
- Numer strony w dokumencie PDF.
label
-
Etykieta strony (logiczny numer strony) w dokumencie PDF.
Ta zmienna jest dostępna tylko w tytułach stron.
SZCZEGÓŁY IMPLEMENTACJI
Algorytm separacji warstw
Jeżeli nie użyto opcji --monochrome, pdf2djvu używa następującego naiwnego algorytmu separacji warstw:
-
1.
Dla każdej strony wykonaj co następuje:
- 1. Zrastruj stronę do mapy pikseli w zwykły sposób.
-
2.
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).
-
3.
Porównaj obie mapy pikseli, piksel po pikselu:
- 1. Jeżeli kolory się zgadzają, zaklasyfikuj piksel jako część warstwy tła.
- 2. W przeciwnym wypadku, zaklasyfikuj piksel jako część pierwszego planu.
RAPORTY O BŁĘDACH
Błędy znalezione w pdf2djvu proszę zgłaszać w m[blue]systemie śledzenia problemówm[][6] lub na m[blue]liście dyskusyjnejm[][7].
ZOBACZ TEŻ
djvu(1), djvudigital(1), csepdjvu(1)
PRZYPISY
- 1.
- RFC 3999
- 2.
- NFKC
- 3.
- bloku Alfabetycznych Form Prezentacyjnych
- 4.
- specyfikacji API OpenMP
- 5.
- składni formatowania napisów w języku Python
- 6.
- systemie śledzenia problemów
- 7.
-
liście dyskusyjnej