В настоящее время я работаю над функцией экспорта PDF в нашем приложении и для этого использую iText. Мои требования - базовый c материал PDF (напишите текст), и я также должен включить HTML элементы, которые редактируются в GUI с помощью редактора WYSIWYG (Summernote).
Мне удалось чтобы построить все идеально, однако я не могу понять, как включить в преобразование некоторые пользовательские CSS. Я использую метод convertToElements
и добавляю полученные элементы в свой PDF вручную. Моя главная проблема в том, что Summernote создает таблицы с примененными к нему классами CSS, и, очевидно, у меня их нет в бэкэнде при создании PDF. Как я могу сослаться на файловый ресурс CSS в бэкэнд-коде Java, чтобы его можно было использовать при конвертации? Возможно ли что-то подобное, даже если моя часть "HTML" не "должным образом отформатирована" (то есть имеет теги no и et c., Только basi c HTML)?
My HTML выглядит так:
<table class="table table-bordered">
<tbody>
<tr><td>1.1</td><td>1.2</td></tr>
<tr><td>2.1</td><td>2.2</td></tr>
<tr><td>3.1</td><td>3.2</td></tr>
</tbody>
</table>
CSS, который идет с ним, выглядит так:
.table-bordered {
border: 1px solid #ddd;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 20px;
}
tbody {
display: table-row-group;
vertical-align: middle;
border-color: inherit;
}
tr {
display: table-row;
vertical-align: inherit;
border-color: inherit;
}
Я нашел этот ответ здесь Как добавить внешний CSS подает уже определенный HTML в iText 7 , который в основном говорит, что мне нужно разобрать текст HTML и добавить «недостающие» теги самому себе и файл CSS в папку ресурсов в моем бэкэнде так, оно автоматически подбирается при конвертации.
Есть ли другой "более правильный" способ сделать это?
PS Я использую Java 8, iText7 (последняя версия) и html2pdf ( последнее).