itext htmlworker не работает для персонажа Мьянмы - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь использовать HTMLWorker для itext pdf и для символов Мьянмы, он не работает, тогда как в простом html он работает HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href='https://mmwebfonts.comquas.com/fonts/?font=myanmar3' />
    <link rel="stylesheet" href='https://mmwebfonts.comquas.com/fonts/?font=zawgyi' />  
    <style type="text/css">
        .zawgyi{
            font-family:Zawgyi-One;
        }
        .unicode{
            font-family:Myanmar3,Yunghkio,'Masterpiece Uni Sans';
        }
    </style>
</head>
<body>
    <h3>This is for ZawGyI font</h3>
    <p class="zawgyi">၀န္ထမ္းလစာေပးေခ်လႊာ( လစာငွေ )
        သည္စာသည္ ေဇာ္ဂ်ီ ျဖင့္ေရးေသာစာျဖစ္သည္
    </p>
    <h3>This is for unicode (myanmar3) font</h3>
    <p class="unicode">၀န္ထမ္းလစာေပးေခ်လႊာ( လစာငွေ )
        သည်စာသည် unicode ဖြင့်ရေးသောစာဖြစ်သည်
    </p>
</body>
</html>

itext code:

String str1="<html><head>\n" +
"   <meta charset=\"UTF-8\">\n" +
"   <title>Document</title>\n" +
"   <link rel=\"stylesheet\" href='https://mmwebfonts.comquas.com/fonts/?font=myanmar3' />\n" +
"   <link rel=\"stylesheet\" href='https://mmwebfonts.comquas.com/fonts/?font=zawgyi' />    \n" +
"   <style type=\"text/css\">\n" +
"       .zawgyi{\n" +
"           font-family:Zawgyi-One;\n" +
"       }\n" +
"       .unicode{\n" +
"           font-family:Myanmar3,Yunghkio,'Masterpiece Uni Sans';\n" +
"       }\n" +
"   </style>\n" +
"</head>\n" +
"<body>\n" +
"   <h3>This is for ZawGyI font</h3>\n" +
"   <p class=\"zawgyi\">\n" +
"       သည္စာသည္ ေဇာ္ဂ်ီ ျဖင့္ေရးေသာစာျဖစ္သည္\n" +
"   </p>\n" +
"   <h3>This is for unicode (myanmar3) font</h3>\n" +
"   <p class=\"unicode\">\n" +
"       သည်စာသည် unicode ဖြင့်ရေးသောစာဖြစ်သည်\n" +
"   </p>\n" +
"</body>\n" +
"</html>";

HTMLWorker worker = new HTMLWorker(document);
worker.parse(new StringReader(str1));

    document.close();

КогдаЯ попытался XMLWorker, то он говорит, что заголовок тега не может быть вложенным. Когда я использую FontSelector, тогда он работает нормально, но мне нужно разобрать html и не могу использовать FontSelector с HTML.

1 Ответ

0 голосов
/ 22 октября 2019

Кажется, это проблема с iText5, я обновил его до iText7, и теперь он работает нормально с кодом ниже:

File pdfDest = new File(pdfFile);
         String html = <>html;
        ConverterProperties converterProperties = new ConverterProperties();
        FontProvider fontProvider = new DefaultFontProvider(true, false, true);
        converterProperties.setFontProvider(fontProvider);
        try {
            HtmlConverter.convertToPdf(html,
                    new FileOutputStream(pdfDest), converterProperties);
        } catch (FileNotFoundException | IOException ex) {
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...