pdf2djvu(1)

НАЗВА
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-індексу як назву файлу індексу; розмістити файли-компоненти в одну й ту ж теку. Тека повинна існувати та мати дозвіл на запис.

--pageid-template=шаблон
    Встановлює схему найменування ідентифікаторів сторінок. Зверніться за довідкою до “МОВА ШАБЛОНІВ” розділу опису мови шаблонів.

    Шаблон за умовчанням “p{page:04*}.djvu”.

    З причини переносимості ідентифікатор сторінки:

        • повинен складатися лише з рядкових ASCII-букв, цифр, _, +, - та крапки,

        • не може починатися з +, - чи крапки,

        • не може включати дві послідовні крапки,

        • повинен завершуватися розширенням .djvu чи .djv.

--pageid-prefix=префікс
    Еквівалентно “--pageid-template=префікс{page:04*}.djvu”.

--page-title-template=шаблон
    Встановлює шаблон заголовків сторінок. Зверніться за довідкою до розділу опису мови шаблонів “МОВА ШАБЛОНІВ”.

    За умовчанням заголовок не встановлюється.

  Роздільна здатність, розмір сторінки

-d, --dpi=роздільна_здатність
    Встанолює бажану роздільну_здатність крапок на дюйм. За умовчанням 300 dpi. Дозволений діапазон: 72 ≤ роздільна_здатність ≤ 6000.

--media-box
    Використовувати MediaBox для визначення розміру сторінки. За умовчанням використовується CropBox.

--page-size=ширина×висота
    Встановлює бажаний розмір сторінки у ширина пікселів × висота пікселів. Дійсний розмір сторінки може змінюватися для дотримання співвідношення та через обмеження 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
    Зменшити кількість кольорів переднього плану до веб-палітри (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].

--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[3].

TMPDIR
    pdf2djvu інтенсивно використовує тимчасові файли. програма зберігає їх у теці, заданій цією змінною. За умовчанням /tmp.

МОВА ШАБЛОНІВ

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

Мова шаблонів використовує як зразок синтаксис форматування рядків у Python-і[4].

Шаблон — це текст, який містить поля, оточені фігурними дужками {}. Коли шаблон застосовується, поля замінюються відповідним чином відформатованими значеннями. Окрім того, {{ и }} замінюється одиночними { и } відповідно.

  Синтаксис полів

Кожне поле складається з імені змінної, за яким може слідувати зсув (не обов’язково), та специфікації формату (не обов’язково).

Зсув — ціле число зі знаком (тобто починається на + чи -).

Формат специфікації включає двокрапку, а потім специфікатор ширини поля.

Специфікатор ширини поля — це ціле десяткове число, що визначає мінімальну ширину поля. Якщо не вказано, тоді ширина поля обчислюється за вмістом. Передуючий специфікатору знак нуля (0) робить можливим заповнення нулями.

Після специфікатора ширини поля може розташовуватися знак зірочки (*), що збільшує мінімальну ширину поля до максимально можливої довжини змінної.

  Доступні змінні

page, spage
    Кількість сторінок в документі PDF.

dpage
    Кількість сторінок в документі DjVu.

ДЕТАЛІ РЕАЛІЗАЦІЇ

  Алгоритм розділення шарів

Якщо не використовується параметр --monochrome, pdf2djvu використовує наступний простий алгоритм:

    1. Для кожної сторінки зробити наступне:

        1. Перетворити сторінку в растрове зображення звичайним чином.

        2. Перетворити сторінку в інше растрове зображення пропускаючи наступні елементи сторінки:

            • текст,

            • растрові зображення з глибиною 1 біт на піксель,

            • векторні елементи (за винятком великих заповнених площ).

        3. Порівняти обидва зображення, піксель за пікселем:

            1. Якщо їх кольори збігаються, класифікувати піксель як частину фонового шару.

            2. У протилежному випадку класифікувати піксель як частину шару переднього плану.

ПОВІДОМЛЕННЯ ПРО ПОМИЛКИ

Якщо Ви знайшли помилку у pdf2djvu, повідомте про неї на баг-трекер[5].

ДИВІТЬСЯ ТАКОЖ

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

АВТОР

Jakub Wilk <jwilk@jwilk.net>
    Автор.

ПРИМІТКИ

1.  RFC 3999
    https://www.ietf.org/rfc/rfc3339

2.  NFKC
    http://unicode.org/reports/tr15/

3.  специфікації OpenMP API
    http://openmp.org/wp/openmp-specifications/

4.  синтаксис форматування рядків у Python-і
    https://docs.python.org/library/string.html#format-string-syntax

5.  баг-трекер
    https://bitbucket.org/jwilk/pdf2djvu/issues