2010-01-18 54 views

回答

6

你需要通过能够衡量你所选择的字体文本的宽度开始。从iTextSharp的文档:

测量文本

有时有必要知道 某一段文字的长度。如果你已经 创建BASEFONT对象,你可以使用 方法: 公众持股量getWidthPoint(字符串文本,浮动 fontSize的);因此,如果您正在使用 大小为36的条形码字体(如上例 中所示),并且您想知道 需要多少空间才能打印此条形码,您只需执行以下操作: getWidthPoint(“”,36f )。 结果是以点为单位的宽度。有 是1英寸72点。所以,如果你 有252点的结果(如 例如8),你可以将此转换为 英寸和厘米这样的:252 /72 = 3.5寸* 2.54 =8.89厘米

这将用你选择的任何字体作为默认值,让你获得字符串的宽度。然后,可以使用表格单元格的固定宽度来查找适当的字体大小,以填充单元格的宽度而不进行包装。

textWidth = getWidthPoint("sample text", originalFontHeight) 
newFontHeight = (cellWidth/textWidth) * originalFontHeight 

然后,只要确保新字体的高度(已按字体大小给出的点数)不超过表格单元格的高度。

+0

大,非常感谢,这正是我一直在寻找。 – DaveB 2010-01-19 00:14:56