Все могут обратиться к плагину, который написал этот друг. В основном он реализует большую часть преобразования HTML-тегов в Word: https://github.com/draco1023/poi-tl-ext
В 2019 году для бизнеса потребовалось преобразовать данные форматированного HTML на переднем конце в документы Word. После поиска в интернете выяснилось, что большинство решений преобразуют весь HTML в версию Word для веб-просмотра. Однако наши требования включали объединение множества различных элементов форматированного HTML и динамическое добавление заголовков, изображений и другого контента. Поэтому мы отказались от версии Word для веб. Позже мы обнаружили poi-tl (http://deepoove.com/poi-tl/), который позволяет напрямую создавать шаблоны Word. Изучив требования, мы пришли к следующему решению:
Я собрал код и надеюсь, что он поможет другим с аналогичными требованиями.
Создайте соответствующий класс обработчика в пакете com.xuwangcheng.html2word.handler и наследуйте от BaseHtmlTagHandler. Реализуйте методы getMatchTagName и handleHtmlElement. Для конкретной реализации кода необходимо сначала изучить некоторые функции poi-tl и обратиться к http://deepoove.com/poi-tl/.
На данный момент реализованы теги table, img, span, sup и другие. Преобразование других тегов зависит от индивидуальных требований. Если у вас есть готовый код, пожалуйста, отправьте PR, чтобы помочь большему количеству друзей.
Не поддерживается преобразование CSS-стилей. Если вам требуется более детальный анализ стилей CSS, рассмотрите возможность расширения или используйте плагин poi-tl-ext, рекомендованный выше.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )