Генерация телугу PDF из HTML с использованием ITextRenderer не получает точные символы?

Генерация телугу PDF из HTML с использованием ITextRenderer не получает точные символы? Получение сломанного персонажа (ожидаемые персонажи వినియోగించుకోకపోయినట్లయితే) в формате PDF. прикрепленный снимок экрана. введите описание изображения здесь

Мы используем код ниже для генерации UTF-8 PDF со шрифтом

1) body * {font-family: "Vani", Georgia, Serif;}

2) Документ doc = builder.parse(новый ByteArrayInputStream(content.toString(). GetBytes("UTF-8")));

. 3)renderer.getFontResolver() AddFont(contextPath+"Шрифты /VANI.TTF",BaseFont.IDENTITY_H,BaseFont.EMBEDDED); 4) jars itext 4.2 и core-render.jar

Пожалуйста, помогите получить исключенный вывод в PDF.

1 ответ

Решение

Ты используешь ITextRenderer что заставляет поверить, что вы используете летающую тарелку. Летающая тарелка - это не iText. Flying Saucer - это сторонний продукт, который использует старую версию iText и не одобрен iText Group.

Эта старая версия iText не поддерживает телугу. Для поддержки таких систем письма, как Девенагари, Тамил, Телугу и т. Д., Требуется дополнение pdfCalligraph. Это дополнение доступно только для iText 7. Мы написали исчерпывающий технический документ по этому вопросу.

Если вы хотите конвертировать HTML с телугу в PDF, вы не можете достичь этого с Flying Saucer. Насколько я знаю, единственные инструменты, которые позволяют вам это делать, - это сочетание iText 7, надстройки pdfCalligraph для поддержки Telugy и надстройки pdfHTML для преобразования HTML в PDF.

Обновить:

Если вы хотите использовать pdfCalligraph, вам нужно добавить следующую зависимость:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>typography</artifactId>
    <version>[1.0,)</version>
    <scope>compile</scope>
</dependency>

Поскольку pdfCalligraph является надстройкой с закрытым исходным кодом, вам также необходимо добавить наш репозиторий с закрытым исходным кодом в список репозиториев:

<repositories>
    <repository>
        <id>central</id>
        <name>iText Repository-releases</name>
        <url>https://repo.itextsupport.com/releases</url>
    </repository>
</repositories>

Наконец, вам нужно ввести механизм лицензионного ключа (иначе pdfCalligraph выдаст com.itextpdf.licensekey.LicenseKeyException или java.io.FileNotFoundException:itextkey.xml):

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-licensekey</artifactId>
    <version>[2.0,)</version>
    <scope>compile</scope>
</dependency>

Вам нужен лицензионный ключ (KEY), и вам нужно загрузить этот ключ следующим образом:

LicenseKey.loadLicenseFile(new FileInputStream(KEY));

KEY содержит путь к файлу XML. Этот XML-файл является вашим лицензионным ключом. Вы можете получить такой файл XML здесь: бесплатная пробная версия.

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