我使用BaseFont.GetWidthPoint
来计算使用特定BaseFont
的字符串宽度。
//FontInfo is my own invention
public float GetTextWidth(string text, FontInfo fontInfo)
{
return fontInfo.BaseFont.GetWidthPoint(text, fontInfo.Size);
}
但是当我切换到粗体字时,它计算错误。
我意识到我的问题是什么。我在BaseFonts上工作,它没有粗体字的概念。当我使用粗体字体书写时,我设置了以下内容:
if (fontInfo.IsBold)
{
pdfContentByte.SetCharacterSpacing(1);
pdfContentByte.SetRGBColorFill(66, 00, 00);
pdfContentByte.SetLineWidth((float)0.5);
pdfContentByte.SetTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE);
}
Bold只是我自己的FontInfo的一个属性。
基于这个起点,是否有一种方法可以计算文本在使用"粗体"字体?现在它使用非粗体字体来占用空间。
TIA
祝你好运 Soeren D。