gpt4 book ai didi

java - xhtmlrenderer xhtml转pdf字体问题

转载 作者:行者123 更新时间:2023-11-28 00:29:44 25 4
gpt4 key购买 nike

我正在使用 org.xhtmlrenderer.pdf.ITextRenderer 使用 Java 将我的 (x)html 页面转换为 pdf。

除了字体部分,我已经完成了大部分工作。

我在我的页面中使用 verdana 并且使用默认字体呈现 pdf。

我已将 verdana.ttf 添加到我的 jar 中并使用以下代码:

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new StringBufferInputStream(html));

File tmpFontFile = new File(TEMP_FOLDER + "/verdana.ttf");
if(!tmpFontFile.exists())
{
tmpFontFile.createNewFile();

InputStream fontIs = getClass().getResourceAsStream("/com/mycompany/util/font/verdana.ttf");
OutputStream fontOs = new FileOutputStream(tmpFontFile);

byte buf[] = new byte[1024];
int len;

while((len = fontIs.read(buf)) > 0)
fontOs.write(buf,0,len);

fontOs.close();
fontIs.close();
}


ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont(
tmpFontFile.getAbsolutePath(), BaseFont.IDENTITY_H ,BaseFont.EMBEDDED);
renderer.setDocument(doc, null);

String outputFile = TEMP_FOLDER + "/mypdf.pdf";
OutputStream os = new FileOutputStream(outputFile);
renderer.layout();
renderer.createPDF(os);
os.close();

我在这里错过了什么?

谢谢,巴特

最佳答案

要使 xhtmlrenderer 正常工作,CSS 必须为:

字体系列:Verdana;

代替

font-family:verdana;

区分大小写。

关于java - xhtmlrenderer xhtml转pdf字体问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2771623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com