Конвертация djvu в pdf. dpsprep
2025-04-29
·
2 мин. для прочтения
Конвертация djvu в pdf. dpsprep.
Содержание
1 Общая информация
- Репозиторий: https://github.com/kcroker/dpsprep
- Конвертер DjVu в PDF.
- Позволяет сохранять структуру документа (например, оглавление) и текстовые слои (например, OCR).
2 Установка
2.1 Gentoo
- Оверлей karma (Gentoo. Репозиторий karma):emerge dpsprep
3 Параметры
- -q,- --quality: качество изображений на выходе. Используется только для сжатия JPEG, т.е. изображений RGB и Grayscale. Передается напрямую в Pillow и оптимизатору OCRmyPDF.
- -p,- --pool-size: размер пула MultiProcessing для обработки постраничных операций.
- -v,- --verbose: отображение отладочных сообщений.
- -o,- --overwrite: перезаписать файл назначения.
- -w,- --preserve-working: сохранять рабочий каталог после завершения скрипта.
- -d,- --delete-working: перед записью в рабочий каталог удалите все существующие файлы.
- -t,- --no-text: отключить генерацию текстовых слоев. Подразумевается- --ocr.
- -m,- --mode: режим изображения. По умолчанию запрашивается режим изображения каждой страницы у libdjvu. Иногда имеет смысл принудительно использовать битональные изображения, поскольку они хорошо сжимаются.
- --ocr: выполнить OCR через OCRmyPDF, а не пытаться преобразовать текстовый слой. Если этот параметр имеет значение, это должен быть словарь JSON с параметрами, которые будут переданы в OCRmyPDF.
- -O1: используйте оптимизацию изображений PDF без потерь с помощью OCRmyPDF (без выполнения OCR).
- -O2: используйте оптимизацию изображений PDF от OCRmyPDF.
- -O3: используйте агрессивную оптимизацию изображений PDF с потерями от OCRmyPDF.
4 Выполнение сжатия
- Компрессия поводится в два этапа:- сжатие по умолчанию, предоставляемое Pillow. Для битональных изображений код генерации PDF говорит, если libtiffдоступен, для сжатия используетсяgroup4.
- если установлен OCRmyPDF, его оптимизацию PDF можно использовать с помощью флагов -O1,-O2,-O3(это не требует OCR).
 
- сжатие по умолчанию, предоставляемое Pillow. Для битональных изображений код генерации PDF говорит, если 
- Если OCRmyPDF запускается вручную, обратите внимание, что команда оптимизации, предложенная в документации (параметр --tesseract-timeoutк0) может испортить существующие текстовые слои.
- Чтобы выполнить только оптимизацию PDF, вы можете использовать следующий недокументированный способ вызова:python -m ocrmypdf.optimize <input_file> <level> <output_file>
5 Примеры использования
- Создать файл file.pdfв текущем каталоге:dpsprep /wherever/file.djvu
- Создать output.pdfс пониженным качеством изображения и агрессивной оптимизацией изображений PDF:dpsprep --quality=30 -O3 input.djvu output.pdf
- Использовать большой пул рабочих процессов:dpsprep --pool=16 input.djvu
- Принудительно сделать изображения двуцветными:dpsprep --mode bitonal input.djvu
- Игнорировать текстовый слой и запустить OCRmyPDF:dpsprep --ocr '{"language": ["rus", "eng"]}' input.djvu
- Просто проигнорируйте текстовый слой без OCR:dpsprep --no-text input.djvu
