Html iText:如何在生成的PDF中包含字体图标
我使用的是iText的2.1.7版,我想生成HTML的PDF版本 我的HTML文件包含字体图标:Html iText:如何在生成的PDF中包含字体图标,html,pdf,itext,font-awesome,Html,Pdf,Itext,Font Awesome,我使用的是iText的2.1.7版,我想生成HTML的PDF版本 我的HTML文件包含字体图标: <i class="fa fa-check" style="color:green" aria-hidden="true"></i> 有人有主意吗?字体javascript和css将可怕的图标注入到伪before区域。如果你在做纯html,唯一可以处理的方法就是使用字体真棒备忘单,获取字符代码,使用该字体系列的跨距。您需要下载TTF字体并在iText中注册 虽然这不是iTe
<i class="fa fa-check" style="color:green" aria-hidden="true"></i>
有人有主意吗?字体javascript和css将可怕的图标注入到伪before区域。如果你在做纯html,唯一可以处理的方法就是使用字体真棒备忘单,获取字符代码,使用该字体系列的跨距。您需要下载TTF字体并在iText中注册 虽然这不是iText并使用其他PDF格式,但您可以在此处查看伪元素: 这里是Fontawesome和Gylphicons: 你可以下载Javascript来看看会发生什么,但是上面我提到的部分已经被删除了,因为你现在可以从浏览器的DOM中获取伪元素了。以前,代码会按照我说的那样做,只需在内容中使用正确的字体系列插入一个
您需要放弃fontawesome的使用,只使用HTML中的实际字符,因为任何处理HTML+CSS的操作都不会处理注入图标的Javascript,就像用实际图表替换一样,除非您使用的解决方案会在打印前执行Javascript。字体Javascript和css会将可怕的图标注入到pseudo before区域。如果你在做纯html,唯一可以处理的方法就是使用字体真棒备忘单,获取字符代码,使用该字体系列的跨距。您需要下载TTF字体并在iText中注册 虽然这不是iText并使用其他PDF格式,但您可以在此处查看伪元素: 这里是Fontawesome和Gylphicons: 你可以下载Javascript来看看会发生什么,但是上面我提到的部分已经被删除了,因为你现在可以从浏览器的DOM中获取伪元素了。以前,代码会按照我说的那样做,只需在内容中使用正确的字体系列插入一个 您需要放弃使用fontawesome,只使用HTML中的实际字符,因为处理HTML+CSS的任何内容都不会处理注入图标的Javascript,就像它将替换为实际图表一样,除非您使用在打印前执行Javascript的解决方案
// pdf conversion
ConverterProperties props = new ConverterProperties();
FontProvider dfp = new DefaultFontProvider(true, true, false);
/* Temporary fix for display issue with blocks (in current html2pdf version (2.0.1) */
props.setTagWorkerFactory(new LabelBlockTagWorkerFactory());
props.setCssApplierFactory(new LabelBlockCssApplierFactory());
props.setFontProvider(dfp);
HtmlConverter.convertToDocument(html, pdfDoc, props);
footerHandler.writeTotal(pdfDoc);
pdfDoc.close();