我正在使用 PdfSharpCore 创建 PDF 文件。
我需要在
XRect
中打印文本。我在网上找到了以下代码,用于弄清楚如何垂直放置文本。
double lineHeight = font.GetHeight();
double cyAscent = lineHeight * font.CellAscent / font.CellSpace;
double y = rect.Y + cyAscent;
graphics.DrawString(text, font, brush, rect.X, y);
这似乎完全符合我的要求。但是,我现在使我的代码更加复杂,以允许在同一行上使用不同的字体。有些字体可能比其他字体高,它们都应该有相同的基线。
我正在尝试了解如何调整上述逻辑来处理这种情况。
简单的方法就是做这样的事情。
double y = rect.Y + heightOfTallestFont;
graphics.DrawString(text, font, brush, rect.X, y);
但这似乎将文本打印得比应有的略低。