iText/Java При конвертации HTML в PDF не совпадает позиционирование текста
С помощью iText я конвертирую HTML в PDF. В целом все работает как нужно, но есть проблема с некоторыми семействами шрифтов. После конвертации, в документе PDF позиционирование шрифтов по высоте не совпадает с тем как это было в HTML.
Пример на картинке ниже (слева - сгенерированный PDF, справа превью PDF документа):

На изображении:
- (1) - шрифт Arial - с ним все впорядке.
- (2) - шрифт Times New Roman - в PDF он поднялся на 2px.
- (3) - шрифт Dancing Script - в PDF он опустился на 5px.
- (4) - шрифт Tangerine - с ним все впорядке.
- (5) - шрифт Charmonman - в PDF он опустился на 5px.
Для HTML шаблона, который генерируется в PDF указаны CSS стили точно такие, которые используются для превью PDF документа.
PDF генерируется следующим образом:
private byte[] getPdf(StringBuilder fileText) throws IOException {
FontProvider fontProvider = new FontProvider(addCertificateFonts(), "");
fontProvider.addStandardPdfFonts();
ConverterProperties properties = new ConverterProperties().setFontProvider(fontProvider);
properties.setBaseUri(getBaseProjectUri());
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
HtmlConverter.convertToPdf(fileText.toString(), out, properties);
return out.toByteArray();
}
}
private FontSet addCertificateFonts() {
FontSet set = new FontSet();
List<String> fontPaths = //здесь список путей к файлам шрифтов
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
for (String path : fontPaths) {
set.addFont(context.getRealPath(path));
}
return set;
}
Если ли какой-нибудь способ исправить позиционирование шрифтов?
Есть ли вероятность, что в самих шрифтах есть какие-то конфигурации, которые могут влиять на положение текста с этим шрифтом?