Создание телугу PDF из HTML с помощью ITextRenderer не получает точные символы?

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

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

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) банки itext 4.2 и core-render.jar

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


person user1896803    schedule 09.05.2017    source источник


Ответы (1)


Вы используете ITextRenderer, что наводит на мысль, что вы используете летающую тарелку. "Летающая тарелка" - это не iText. "Летающая тарелка" - это продукт стороннего производителя, в котором используется старая версия 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-файл здесь: бесплатная пробная версия < / а>.

person Bruno Lowagie    schedule 09.05.2017
comment
Кроме того, они используют iText 4.2.0, версию, которая никогда не выпускалась iText Software, а была выпущена ymasory / InProTopia. - person Amedee Van Gasse; 09.05.2017
comment
Не могли бы вы объяснить больше ... попробовал с itext7, генерирующий телугу pdf. Тем не менее мы довольствуемся пробелами. - person user1896803; 10.05.2017
comment
Пытался получить пробную лицензию, но не смог ее найти. Не могли бы вы сообщить нам, где найти пробную версию и какие баночки необходимы для получения языка телугу в формате PDF, и нам будет полезно, если вы предоставите образец кода. Заранее спасибо. - person user1896803; 10.05.2017
comment
Я вставлю это в свой ответ. Слишком много для комментариев. - person Bruno Lowagie; 10.05.2017