svg - 是否可以在 SVG 中使用多种自定义字体?
问题描述
我在 SVG 中使用Univers LT 47 Condensed Light字体。在某些元素中使用Univers LT 47 Condensed Bold字体。SVG 渲染正确,但是当我在 PDF 上打印 SVG 时,没有考虑任何字体,并且使用了默认字体(Times)。
后来,我发现通过设置(?)字体提供程序,我可以使用标准字体。
string fontUniverseLT47 = HttpContext.Current.Server.MapPath("fonts/lte50144.ttf"),
fontUniverseLT47Bold = HttpContext.Current.Server.MapPath("fonts/LT.ttf");
FontProvider provider = new FontProvider();
provider.AddFont(FontProgramFactory.CreateFont(fontUniverseLT47));
provider.AddFont(FontProgramFactory.CreateFont(fontUniverseLT47Bold));
SvgConverterProperties props = new SvgConverterProperties();
props.SetCharset("Windows-1252");
props.SetFontProvider(provider);
byte[] byteArray = Encoding.GetEncoding(1252).GetBytes(svg);
using (MemoryStream ms = new MemoryStream(byteArray))
{
Image image = SvgConverter.ConvertToImage(ms, pdf, props);
image.SetPageNumber(pageNumber);
image.SetFixedPosition(llx, lly);
image.ScaleToFit(width, height);
doc.Add(image);
}
但现在我想使用无法在 CSS 中设置的粗体字体,字体重量:粗体,因为它是不同的 PdfFont。
有没有办法在 SVG 中使用第二种粗体字体?
解决方案
推荐阅读
- react-testing-library - 是否可以使用 react-testing-library 进行端到端测试?
- matlab - 抽象函数在命令行中工作,而不是在类中作为常量属性工作
- reactjs - 使用 SWR Hook 获取带有输入参数的数据
- node.js - 如何在打字稿中导入本机节点模块(node-gyp)
- influxdb - 如何在 Flux (influxdb) 中转义字符串?
- python - jupyter notebook 执行 shell 脚本并忽略输出日志
- unit-testing - 如何在 Jest 中测试 Vue 道具更新
- opencv - 如何从图像中的表格中提取文本并将它们排列到电子表格 OpenCV 中
- flutter - 如何在颤动中使用剪辑路径小部件创建具有形状的自定义按钮
- python - 如何使用 Python 访问 api.hypixel.net