Конвертация 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 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