使用粗体字体使用BaseFont.GetWidthPoint计算字符串的大小

时间:2014-07-08 15:33:53

标签: itextsharp itext

我使用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。

0 个答案:

没有答案