"ВНИМАНИЕ: JBIG2ImageReader не загружен." но [org.apache.pdfbox / jbig2-imageio "3.0.1"] существует? - PullRequest
0 голосов
/ 07 сентября 2018

Мой проект строится с использованием Leiningen с использованием библиотеки pantomime 2.10.0 [com.novemberain/pantomime "2.10.0"], которая является оболочкой Clojure для Apache Tika. Я пытаюсь устранить некоторые ПРЕДУПРЕЖДЕНИЯ, выдаваемые org.apache.tika.config.InitializableProblemHandler, но по некоторым документам на https://pdfbox.apache.org/2.0/dependencies.html я пытаюсь устранить их.

Sep 06, 2018 1:59:25 PM org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem
WARNING: JBIG2ImageReader not loaded. jbig2 files will be ignored
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.

Я пытаюсь понять, что еще мне нужно добавить в мои зависимости project.clj, чтобы это предупреждение исчезло. Почему [org.apache.pdfbox/jbig2-imageio "3.0.1"] не удовлетворяет зависимость.

Соответствующие части моего project.clj's: зависимости:

[org.xerial/sqlite-jdbc "3.23.1"]
[org.apache.pdfbox/jbig2-imageio "3.0.1"]
[com.github.jai-imageio/jai-imageio-core "1.4.0"]
[com.github.jai-imageio/jai-imageio-jpeg2000 "1.3.0"]
[com.novemberain/pantomime "2.10.0"]

Что я пропустил?

1 Ответ

0 голосов
/ 07 сентября 2018

Чтобы отключить эти предупреждения, вам нужно отключить их в конфигурационном файле Tika.

tika.xml:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
    <service-loader initializableProblemHandler="ignore"/>
</properties>

и затем используйте этот файл конфигурации в вашем коде:

(let [handler  (BodyContentHandler.)
          config   (TikaConfig. (FileInputStream. "tika.xml"))
          parser   (AutoDetectParser. config)
          metadata (Metadata.)
          stream   (FileInputStream. "resources/memory.pdf")]       
     (.parse parser stream handler metadata)    
     (prn (str handler)))

Чтобы включить поддержку JBIG и всего остального, вы должны обратиться к tika-parsers-1.17.jar!/META-INF/maven/org.apache.tika/tika-parsers/pom.xml, который содержит все ссылки на поддерживаемые плагины вместе с их версиями. Добавьте эти плагины в ваши зависимости.

Для [com.novemberain/pantomime "2.10.0"] вы должны пойти с

[com.levigo.jbig2/levigo-jbig2-imageio "1.6.5"]
[com.github.jai-imageio/jai-imageio-core "1.3.1"]
[com.github.jai-imageio/jai-imageio-jpeg2000 "1.3.0"]

Это работает для Java 1.8, но я считаю, что это не будет работать для Java 1.10, которая теперь имеет этот новый модуль. Один из этих плагинов не поддерживает это.

...