iTextsharp字体颜色在PDF中有所不同

时间:2014-12-24 16:23:06

标签: pdf itextsharp

我正在创建包含图片和文字的PDF。文字可以是不同的颜色。我从HTML颜色代码转换颜色以获得System.Drawing.Color对象,但颜色在生成的PDF中有所不同。在一个特定的例子中,html代码是3C3C3C,它出现在3C403E中。我使用颜色选择器检查颜色,以获得PDF中的颜色。

var color = System.Drawing.ColorTranslator.FromHtml("#3C3C3C);
iTextSharp.text.Font font = font = FontFactory.GetFont(FontFactory.HELVETICA);
font.Color = new BaseColor(color);

// boxValue is a string
Phrase phrase = new Phrase(boxValue, font);

ColumnText columnText = new ColumnText(canvas);
columnText.SetSimpleColumn(boxRectangle);
columnText.Leading = lineHeight;
columnText.SetLeading(lineHeight, 0);
columnText.SetText(phrase);
columnText.Alignment = alignment;
columnText.Go();

2 个答案:

答案 0 :(得分:0)

事实证明它确实保存了PDF中的实际颜色。我通过使用PDF检查器发现了这一点,并确实看到了使用的正确值。

答案 1 :(得分:0)

   public static BaseColor stringToBaseColor(string code)
    {


        Color color = ColorFromString(code);
        BaseColor b = new BaseColor(color);
        return ColorToBaseColor(color);

    }


    public static BaseColor ColorToBaseColor(Color color)
    {

       return new BaseColor(color);

    }

    public static Color ColorFromString(string code)
    {

        string[] colors = code.Split(',');
        List<int> myInts = Array.ConvertAll(colors, s => int.Parse(s)).ToList();
        return  Color.FromArgb(myInts[0], myInts[1], myInts[2]);

    }
相关问题