我有一个用于将 svg 转换为 pdf 的 java 程序。在该 svg 文件中,我指定了 Myriad Pro Light 作为样式,在转换为 pdf 后,字体出现了其他内容。任何人都可以建议我如何以编程方式配置字体样式。
最佳答案
Batik 依靠 AWT 字体来呈现 SVG 文本。如果系统上找不到该字体或未注册该字体,您最终将得到默认的“sans serif”字体。
您必须确保“Myriad pro light”字体已安装在您的系统上,并且它的系列名称与 SVG 文件中引用的系列名称完全相同(查看 font-family 属性);如果需要,请在 SVG 文件中更正它。
如果无法在系统范围内安装字体,您可以在使用类似这样的方法创建 SVGDocument 实例之前在运行时注册它
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
InputStream is = new FileInputStream(new File("path_to_myriad.ttf"));
java.awt.Font font;
try {
font = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, is);
ge.registerFont(font);
} catch (FontFormatException e) {
e.printStackTrace();
}
关于java - 在java中将svg转换为pdf时更改字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977293/