Apache PDFBox использует ~1,6 ГБ ОЗУ для рендеринга одностраничного отсканированного PDF-файла — следует ли оптимизироваPython

Программы на Python
Ответить
Anonymous
 Apache PDFBox использует ~1,6 ГБ ОЗУ для рендеринга одностраничного отсканированного PDF-файла — следует ли оптимизирова

Сообщение Anonymous »

У меня есть служба Java, которая преобразует PDF-файлы в изображения с помощью Apache PDFBox.

Для большинства текстовых PDF-файлов это работает нормально, но для некоторых отсканированных PDF-файлов, содержащих только изображения, использование памяти становится чрезвычайно высоким.
метрики

Описание проблемы

  • PDF: 1 страница, отсканированный счет
  • Содержимое: одно большое встроенное изображение (без текстового слоя)
  • Операция: преобразование страницы PDF в изображение
  • Библиотека: Apache PDFBox
  • Результат: ~1,6 ГБ пикового использования памяти для одного страница
Я тестировал PyMuPDF (fitz) на Python, который отображает тот же документ с разрешением 200–300 точек на дюйм, используя десятки МБ, а не сотни или ГБ.

Вопрос

От технического и архитектурного отдела перспектива:
  • Разумно ли продолжать использовать Java + PDFBox и попытаться оптимизировать использование памяти?
  • Или это тот случай, когда Python + PyMuPDF принципиально лучше подходит для отсканированных PDF-файлов или PDF-файлов с большим количеством изображений?
  • Когда вместо этого имеет смысл внедрить службу рендеринга документов на основе Python
Я ищу не мнения о языковых предпочтениях, а практические рекомендации, основанные на поведении памяти, внутреннем устройстве PDF и рабочих нагрузках.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -i-optimiz
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»