[英]Font is not available to jvm while converting a report from jrxml to pdf
[英]Font family not rendered while converting html to pdf
我正在使用飛碟將 html 轉換為 pdf,但在打開生成的 pdf 時顯示自定義字體(卡納達語)的空格。我還將 ttf 文件添加到目錄中。 這是我的代碼
String value="<html><head><title>Internationalization</title><meta charset='UTF-8'/></head><<body><h1>Internationalization</h1><table summary=''><tr><th style="font-family:NotoSansKannada-Regular;">ಕನ್ನಡ</th><th>Original title</th></tr></table></body></html>";
OutputStream outputStream = new FileOutputStream(pdfFilePath + "/Reports.pdf");
BufferedOutputStream bos = new BufferedOutputStream(outputStream);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver resolver = renderer.getFontResolver();
renderer.getFontResolver().addFont(
Main.class.getResource("frontend/fonts/NotoSansKannada-Regular.ttf").toURI().toString().replace("file:", "file://"),
"UTF-8",BaseFont.NOT_EMBEDDED
);
renderer.setDocumentFromString(value);
renderer.layout();
renderer.createPDF(bos);
outputStream.close()
這是一個渲染字體的示例。 不幸的是,結果不正確,因為 Flying-saucer 可以在文本上應用連字。
String html = "<html>\n" +
" <head>\n" +
" <meta charset='UTF-8'/>\n" +
" <style>\n" +
" body {font-family: Noto Sans Kannada;}\n" +
" </style>\n" +
" </head>\n" +
" <body>ಕನ್ನಡ</body>\n" +
" </html>";
ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont("font/noto-kannada/NotoSansKannada-Regular.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
OutputStream out = new FileOutputStream(new File("so.pdf"));
renderer.setDocumentFromString(html);
renderer.layout();
renderer.createPDF(out);
out.close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.