Как программно проверить HTML-документ

У меня есть база данных, полная небольших HTML-документов, и мне нужно программно вставить несколько, скажем, в PDF-документ с iText или документ Word с Aspose.Words. Мне нужно сохранить любое форматирование в HTML-документах (в разумных пределах соблюдение тегов <b> является обязательным, CSS вроде <span style = "blah"> - это хорошо).

И iText, и Aspose работают (примерно) примерно так:

Document document = new Document( Size.A4, Aspect.PORTRAIT );

document.setFont( "Helvetica", 20, Font.BOLD );
document.insert( "some string" )
document.setBold( true );
document.insert( "A bold string" );

Поэтому (я думаю) мне нужен какой-то HTML-парсер, который я могу проверить на наличие строк и стилей для вставки в мой документ.

Кто-нибудь может предложить хорошую библиотеку или разумный подход к этой проблеме? Платформа - это Java

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

Ответы 5

Adobe Acrobat Pro позволяет захватывать сайты через HTTP и отлично справляется с сохранением стиля и макета. Я не использовал его с точки зрения API, но, возможно, стоит изучить его.

Если HTML - это «правильно сформированный XML» (XHTML), почему бы не использовать синтаксический анализатор XML (например, Xerces), а затем программно проверить дерево DOM.

Ответ принят как подходящий

HTMLparser - хороший парсер HTML.

Я использовал это для анализа HTML в одном из моих проектов.

Вы можете написать свои собственные фильтры для анализа HTML на предмет того, что вы хотите, поэтому Тег <br> разобрать несложно

Вы можете разобрать CSS, используя CssSelectorNodeFilter

Это предложение позволило мне создать элементарную версию того, что я хочу, примерно за час и около 100 строк кода. Победитель - это ты!

banjollity 23.10.2008 11:20

Вам, вероятно, было бы лучше получить компонент, который переходит непосредственно из HTML в PDF или Word, а затем попытаться проанализировать HTML-документ и самостоятельно продублировать форматирование на основе HTML. Если вы хотите преобразовать HTML в PDF и используете .Net, Winnovative является хорошим решением.

Обратите внимание на рендерер xhtml летающая тарелка - они отображают правильно сформированные файлы XHTML в PDF и позволяют управлять выводом с помощью CSS.

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