Фон и цвета содержимого не сохраняются при преобразовании файла Docx в Html в Java с помощью Apache Tika

Apache Tika не сохраняет настройки и цвета фона содержимого. Где я не прав?

Написали что-то вроде ниже, есть предложения?

{
  InputStream input = TikaInputStream.get(new File("abc.docx"));
  Parser parser = new AutoDetectParser();
  try {
    StringWriter sw = new StringWriter();
    SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
    TransformerHandler handler = factory.newTransformerHandler();
    handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "utf-16");
    handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
    handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
    handler.setResult(new StreamResult(sw));
    Metadata metadata = new Metadata();
    metadata.add(Metadata.CONTENT_TYPE, "text/html;charset=utf-16");
    metadata.add(Metadata.CONTENT_ENCODING, "charset=utf-16");
    parser.parse(input, new ExpandedTitleContentHandler(handler), metadata, new ParseContext());
    String xml = sw.toString();
    System.out.print("TIKA : " + xml);
    BufferedWriter bw = new BufferedWriter(new FileWriter(new File("xyz.html")));
    bw.write(xml);
    bw.close();
  } catch (Exception e) {
    e.printStackTrace();
  } finally {
    input.close();
  }
}

Apache Tika стремится предоставить вам «семантически значимый» xhtml. Вероятно, вы захотите использовать один из специальных конвертеров Apache POI для высокой точности

Gagravarr 24.09.2018 20:33

не могли бы вы указать какой-нибудь конвертер из Apache POI?

Anurag Gupta 25.09.2018 08:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
36
0

Другие вопросы по теме