使用iTextSharp在当前上下文中不存在名称“Color”

时间:2018-06-12 10:19:57

标签: itext

我正在使用itextsharp dll来创建pdf。

我想改变我的字体颜色。

我在Google找到了解决方案。

Document document = new Document(PageSize.A4, 88f, 88f, 10f, 10f);
Font NormalFont = FontFactory.GetFont("Arial", 12, Font.NORMAL, Color.BLACK);

但我尝试使用我的源代码。它显示错误当前上下文中不存在名称'Color'。颜色类不喜欢。

如何解决此错误。

谢谢。

我的代码如下。

using iTextSharp.text;
using iTextSharp.text.pdf;


    private void sPDF(DataRow row)
    {
        Document document = new Document(PageSize.A4, 88f, 88f, 10f, 10f);
        Font NormalFont = FontFactory.GetFont("Arial", 12, Font.NORMAL, Color.BLACK);

        using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream())
        {
            PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);
            Phrase phrase = null;
            PdfPCell cell = null;
            PdfPTable table = null;
            Color color = null;

            document.Open();

            //Separater Line
            color = new Color(System.Drawing.ColorTranslator.FromHtml("#A9A9A9"));
            DrawLine(writer, 25f, document.Top - 79f, document.PageSize.Width - 25f, document.Top - 79f, color);
            DrawLine(writer, 25f, document.Top - 80f, document.PageSize.Width - 25f, document.Top - 80f, color);
            document.Add(table);

            document.Close();
            byte[] bytes = memoryStream.ToArray();
            memoryStream.Close();

        }
    }

    private static void DrawLine(PdfWriter writer, float x1, float y1, float x2, float y2, Color color)
    {
        PdfContentByte contentByte = writer.DirectContent;
        contentByte.SetColorStroke(color);
        contentByte.MoveTo(x1, y1);
        contentByte.LineTo(x2, y2);
        contentByte.Stroke();
    }

1 个答案:

答案 0 :(得分:1)

正如我之前多次解释的那样,我们不再谈论iTextSharp了。几年前,该名称已更改为iText for .NET。查看您的代码,我发现您使用的是旧版iText(可能是版本5)。今天,我们的版本为7.请参阅tutorialdownload page

您的问题有两个答案:

  1. 请升级至iText 7,并使用iText 7 Color类:http://itextsupport.com/apidocs/iText7/latest/com/itextpdf/kernel/colors/package-summary.html

  2. 如果您坚持使用旧版iText(请注意:不再支持这些版本),请将Color替换为BaseColorhttp://itextsupport.com/apidocs/iText5/5.5.13/com/itextpdf/text/BaseColor.html

    < / LI>

    我不知道您在哪里找到有关使用Color的文档,但该信息必须非常陈旧,因为我们在2009年将Color更改为BaseColor。< / p>

    为避免出现其他问题,请使用最新版本,并始终参考official web site