【问题标题】:iTextSharp Textfield setting the font to BoldiTextSharp Textfield 将字体设置为粗体
【发布时间】:2011-03-30 15:42:20
【问题描述】:

对于文本字段对象,我想将样式更改为粗体。我已经创建了 arial 字体,因为它不是 BaseFont 对象的默认字体。显然 TextField 对象仅将 BaseFont 作为有效字体。我想知道如何将分配给我的文本字段的字体样式更改为粗体。有没有办法做到这一点?这是我到目前为止的代码

TextField txtNewField = new TextField(stamp.Writer, new Rectangle(1, 1, 75, 25), "TxtField"); 
BaseFont arial = BaseFont.CreateFont(@"c:\windows\fonts\arial.ttf", BaseFont.CP1252, BaseFont.NOT_EMBEDDED); 
txtNewField.FontSize = 8; 
txtNewField.Font = arial; 

提前谢谢你!

【问题讨论】:

    标签: c# pdf itextsharp


    【解决方案1】:

    您是否尝试过将arialbd.ttf 指定为字体名称?我认为无论如何都会得到更好的结果,因为粗体字体已经过调整。

    (我不知道你为什么不能只为 TextField 指定 Font,诚然……)

    【讨论】:

      【解决方案2】:

      我不确定这是否适用于所有情况,但我创建了这个辅助方法来添加表单字段。它抽象出计算右上角的 X 和 Y 值,并处理使字体加粗。

      它向调用者隐藏了一些讨厌的实现细节。

      感谢@jon-skeet 帮助我解决了粗体字体问题!

              private static void AddFormField(PdfWriter pdfWriter,
                  float lowerLeftX,
                  float lowerLeftY,
                  float width,
                  float height,
                  string fieldName,
                  Font font)
              {
                  var upperRightX = lowerLeftX + width;
                  var upperRightY = lowerLeftY - height;
                  var fontName = font.Style == Font.BOLD ? $"{font.Familyname}-Bold" : font.Familyname;
                  var baseFont = BaseFont.CreateFont(fontName, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                  var box = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
      
                  var field = new TextField(pdfWriter, box, fieldName)
                  {
                      Font = baseFont,
                      FontSize = font.Size
                  };
      
                  pdfWriter.AddAnnotation(field.GetTextField());
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-23
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 2020-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多