【问题标题】:Get String widthPoint in iText with Style = BOLD使用 Style = BOLD 在 iText 中获取字符串宽度点
【发布时间】:2014-10-04 13:50:21
【问题描述】:

我同时使用BaseFont.getWidthPoint()Chunk.getWidthPoint() 来计算字符串大小。我发现将 Style 设置为 "BOLD" 不会影响这两个函数的结果。我假设"BOLD" 会增加字符串的大小。我做错了什么吗?

String ls = "test length lalalalalala";
Font laFont = new Font(FontFamily.HELVETICA, 12);
laFont.setStyle("BOLD");

BaseFont bf_helv = laFont.getCalculatedBaseFont(false);
float width_helv = bf_helv.getWidthPoint(ls, 12);

System.out.println("------size----------" + width_helv);

Chunk laC = new Chunk(ls); 
laC.setFont(laFont);
System.out.println("------size C----------" + laC.getWidthPoint());

【问题讨论】:

    标签: java pdf-generation itext font-size


    【解决方案1】:
    laFont.setStyle("BOLD");
    

    应该是

    laFont.setStyle("bold");
    

    为了不出现大小写问题,您应该使用FontStyle 枚举中提供的常量:

    laFont.setStyle(FontStyle.BOLD);
    

    【讨论】:

      【解决方案2】:

      每个the docsthe source setStyle(string) 采用六个可能值中的一个或多个:

      normal, bold, italic, oblique, underline, line-through
      

      但是,检查是区分大小写的,因此您需要将 BOLD 更改为 bold

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-04
        • 2012-03-06
        • 2013-05-12
        • 2011-04-07
        • 1970-01-01
        • 1970-01-01
        • 2015-12-14
        相关资源
        最近更新 更多