НАЗВАНИЕ

pdf2djvu - создаёт DjVu-файлы из PDF-файлов

СИНТАКСИС

pdf2djvu [{ -o | --outputрезультирующий-djvu-файл] [ параметр...] pdf-файл...
pdf2djvu { -i | --indirectфайл-индекса-djvu [ параметр...] pdf-файл...
pdf2djvu { --version | --help | -h}

ОПИСАНИЕ

Программа создаёт DjVu-файл из одного или нескольких Portable Document Format файлов.

ПАРАМЕТРЫ

pdf2djvu допускает следующие параметры:

Тип документа, имена файлов

-o, --output=результирующий-djvu-файл
Создать объединённый многостраничный документ. Записать файл в результирующий-djvu-файл вместо стандартного вывода.
-i, --indirect=файл-индекса-djvu
Создать раздельный многостраничный документ. Использовать файл-индекса-djvu как имя файла индекса; поместить файлы-компоненты в один и тот же каталог. Каталог должен существовать и иметь разрешение на запись.
--page-id-template=шаблон
Устанавливает схему именования идентификаторов страниц. Обратитесь за справкой к «ЯЗЫК ШАБЛОНОВ» секции описания языка шаблонов.
 
Шаблон по умолчанию «p{page:04*}.djvu».
 
По причине портабельности идентификатор страницы:
 
•должен состоять только из строчных ASCII букв, цифр, _, +, - и точки,
 
•не может начинаться с +, - или точки,
 
•не может включать две последовательные точки,
 
•должен заканчиваться расширением .djvu или .djv.
 
--page-id-prefix=префикс
Эквивалентно «--page-id-template= префикс{page:04*}.djvu».
--page-title-template=шаблон
Устанавливает шаблон заголовков страниц. Обратитесь за справкой к секции описания языка шаблонов «ЯЗЫК ШАБЛОНОВ».
 
Шаблон по умолчанию «{label}».
--no-page-titles
Не устанавливать заголовки страницы.

Разрешение, размер страницы

-d, --dpi=разрешение
Устанавливает желаемое разрешение разрешение точек на дюйм. По умолчанию 300 dpi. Разрешённый диапазон: 72 ≤ разрешение ≤ 6000.
--media-box
Использовать MediaBox для определения размера страницы. По умолчанию используется CropBox.
--page-size=ширинаxвысота
Устанавливает предпочитаемый размер страницы в ширина пикселов × высота пикселов. Действительный размер страницы может изменяться для соблюдения соотношения и из-за ограничений DjVu. (Этот параметр имеет приоритет над -d/--dpi.)
--guess-dpi
Попробовать предположить оригинальное разрешение проверяя внедрённые изображения. Используйте с осторожностью.

Качество изображения

--bg-slices=n+...+n, --bg-slices=n,...,n
Устанавливает качество кодирования фонового слоя IW44. Этот параметр похож на параметр -slice для c44. Обратитесь за справкой к man-странице c44(1). По умолчанию 72+11+10+10.
--bg-subsample=n
Устанавливает отношение подвыборки фона. По умолчанию 3. Допустимые значения находятся между 1 и 12 включительно.
--fg-colors=default
Попробовать сохранить все цвета переднего плана. Используется по умолчанию.
--fg-colors=web
Уменьшить количество цветов переднего плана до web-палитры (216 цветов). Не рекомендуется использовать.
--fg-colors=n
Использует GraphicsMagick для уменьшения количества явных цветов в слое переднего плана. Допустимые значения от 1 до 4080. Не рекомендуется использовать.
--fg-colors=black
Не использовать любую информацию о цветах из слоя переднего плана.
--monochrome
Рендерить страницы как монохромные изображения. С этим параметром опции --bg-... и --fg-... не принимаются во внимание.
--loss-level=n
Устанавливает агрессивность компрессии с потерями. По умолчанию 0 (без потерь). Допустимые значения от 0 до 200 включительно. Этот параметр похож на параметр -losslevel для cjb2. Обратитесь за справкой к man-странице cjb2(1). Этот параметр принимается во внимание только вместе с параметром --monochrome.
--lossy
Равносильно --loss-level=100.
--anti-alias
Разрешить сглаживание шрифтов и векторной графики. Не рекомендуется использовать.

Извлечение

--no-metadata
Не извлекать метаданные.
 
По умолчанию:
 
•Извлекаются следующие значения информации документа: Title, Author, Subject, Creator, Producer, CreationDate, ModDate. Временные отметки форматируются согласно стандарту RFC 3999[1]. Дата и время разделены одиночным пробелом.
 
•Соответственно извлекаются (или создаются) и обновляются метаданные XMP.
 
 
 
Примечание
 
 
В случае нескольких входных документов используются только метаданные из первого.
 
--verbatim-metadata
Сохранять метаданные нетронутыми.
--no-outline
Не извлекать оглавление документа.
--hyperlinks=border-avis
Делать границы ссылок всегда видимыми.
 
По умолчанию границы ссылок становятся видимыми только при наведении на ссылку мыши.
--hyperlinks=#RRGGBB
Принудительно использовать заданный цвет для границы ссылок.
--no-hyperlinks, --hyperlinks=none
Не извлекать ссылки.
--no-text
Не извлекать текст.
--words
Извлечь текст. Записать расположение каждого слова. Используется по умолчанию.
--lines
Извлечь текст. Записать расположение каждой строки, а не слова.
--crop-text
Не извлекать текст, который находится за пределами страницы.
--no-nfkc
Не применять NFKC[2] нормализацию к тексту за исключением символов из Alphabetic Presentation Forms block[3] (U+FB00–U+FB4F), которые нормализованы безоговорочно.
 
По умолчанию применяется NFKC нормализация для всех символов.
--filter-text=командная строка
Фильтровать текст через командная строка. Данный фильтр должен сохранить пробелы, управляющие символы и десятичные цифры.
 
Этот параметр подразумевает --no-nfkc.
-p, --pages=диапазон-страниц
Устанавливает страницы для конвертирования. диапазон-страниц — это разделяемый запятыми список поддиапазонов. Каждый поддиапазон является одиночной страницей (например, 17) или последовательным диапазоном страниц (например, 37-42). Повторяющиеся номера страниц не допускаются. Страницы нумеруются с 1.
 
По умолчанию конвертируются все страницы.

Производительность

-j, --jobs=n
Использовать n потоков для конвертации. По умолчанию используется один поток.
-j0, --jobs=0
Определить автоматически, сколько потоков использовать для конвертации.

Подробности, справка

-v, --verbose
Показывать больше информационных сообщений при конвертации файла.
-q, --quiet
Не показывать информационные сообщения при конвертации файла.
--version
Вывести информацию о версии и выйти.
-h, --help
Показать справку и выйти.

ОКРУЖЕНИЕ

Следующие переменные окружения оказывают влияние на pdf2djvu в Unix-системах:
OMP_*
Поведением, с точки зрения распараллеливания, можно управлять с помощью нескольких переменных окружения. За деталями обратитесь к спецификации OpenMP API[4].
TMPDIR
pdf2djvu интенсивно использует временные файлы. Программа сохраняет их в каталоге заданном этой переменной. По умолчанию /tmp.

ЯЗЫК ШАБЛОНОВ

Синтаксис шаблонов

Язык шаблонов использует как образец синтаксис форматирования строк в Python[5].
Шаблон — это текст, который содержит поля, окружённые фигурными скобками {}. Когда шаблон применяется, поля заменяются соответствующим образом отформатированными значениями. Кроме того, {{ и }} заменяются одиночными { и } соответственно.

Синтаксис полей

Каждое поле состоит из имени переменной, за которым может следовать сдвиг (не обязательно) и спецификация формата (не обязательно).
Сдвиг — целое число со знаком (т. е. начинающееся на + or -).
Формат спецификации включает двоеточие, а затем спецификатор ширины поля.
Спецификатор ширины поля — это целое десятичное число определяющее минимальную ширину поля. Если не указано, тогда ширина поля вычисляется по содержимому. Предшествующий спецификатору знак нуля (0) делает возможным заполнение нулями.
После спецификатора ширины поля может располагаться знак звёздочки (*), что увеличивает минимальную ширину поля до максимально возможной длины переменной.

Доступные переменные

dpage
Количество страниц в документе DjVu.
page, spage
Количество страниц в документе PDF.
label
Метка страницы (логический номер страницы) в документе PDF.
 
Эта переменная доступна только для заголовков страницы.

ДЕТАЛИ РЕАЛИЗАЦИИ

Алгоритм разделения слоёв

Если не используется параметр --monochrome, pdf2djvu использует следующий простой алгоритм:
 
1.Для каждой страницы сделать следующее:
 
1.Преобразовать страницу в растровое изображение обычным порядком.
 
2.Преобразовать страницу в другое растровое изображение пропуская следующие элементы страницы:
 
•текст,
 
•растровые изображения с глубиной 1 бит на пиксел,
 
•векторные элементы (за исключением больших заполненных площадей).
 
 
3.Сравнить оба изображения, пиксел за пикселом:
 
1.Если их цвета совпадают, классифицировать пиксел как часть фонового слоя.
 
2.В противоположном случае классифицировать пиксел как часть слоя переднего плана.
 
 
 

СООБЩЕНИЯ ОБ ОШИБКАХ

Если вы нашли ошибку в pdf2djvu, сообщите о ней в баг-трекер[6] или в список рассылки[7].

СМОТРИТЕ ТАКЖЕ

djvu(1), djvudigital(1), csepdjvu(1)

ПРИМЕЧАНИЯ

1.
RFC 3999
2.
NFKC
3.
Alphabetic Presentation Forms block
4.
спецификации OpenMP API
5.
синтаксис форматирования строк в Python
6.
баг-трекер
7.
список рассылки

Recommended readings

Pages related to pdf2djvu you should read also: