pdf2djvu(1) tworzy pliki DjVu z plików PDF

STRESZCZENIE

pdf2djvu [{-o | --outputplik-wyjściowy-djvu] [opcja...] plik-pdf...
pdf2djvu {-i | --indirectplik-indeksowy-djvu [opcja...] plik-pdf...
pdf2djvu {--version | --help | -h}

OPIS

Program ten tworzy plik DjVu na podstawie jednego lub więcej plików w formacie Portable Document Format.

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)

AUTOR

Jakub Wilk <[email protected]>

Autor.

PRZYPISY

1.
RFC 3999
https://www.ietf.org/rfc/rfc3339
2.
NFKC
http://unicode.org/reports/tr15/
3.
bloku Alfabetycznych Form Prezentacyjnych
http://unicode.org/charts/PDF/UFB00.pdf
4.
specyfikacji API OpenMP
http://openmp.org/wp/openmp-specifications/
5.
składni formatowania napisów w języku Python
https://docs.python.org/library/string.html#format-string-syntax
6.
systemie śledzenia problemów
https://bitbucket.org/jwilk/pdf2djvu/issues
7.
liście dyskusyjnej
https://groups.io/g/pdf2djvu