Имя «Цвет» не существует в текущем контексте, используя iTextSharp - PullRequest
0 голосов
/ 12 июня 2018

Я использую Itextsharp DLL для создания PDF.

Я хочу изменить цвет шрифта.

Я нашел решение в Google.

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

Но я пытаюсь получить исходный код.Это шоу - ошибка. Название «Цвет» не существует в текущем контексте.Цветовой класс не увлекал.

Как решить эту ошибку.

Спасибо.

Мой код ниже.

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 голосов
/ 12 июня 2018

Как я уже объяснял много раз, мы больше не говорим об iTextSharp.Это имя было изменено на iText для .NET пару лет назад.Глядя на ваш код, я вижу, что вы используете старую версию iText (вероятно, версию 5).Сегодня у нас версия 7. См. Учебник и страницу загрузки .

. На Ваш вопрос есть два ответа:

  1. Пожалуйста, обновитесь до iText 7 и используйте цветовые классы iText 7: http://itextsupport.com/apidocs/iText7/latest/com/itextpdf/kernel/colors/package-summary.html

  2. Если вы настаиваете на использовании старой версии iText (примечание: эти версии больше не поддерживаются)), замените Color на BaseColor: http://itextsupport.com/apidocs/iText5/5.5.13/com/itextpdf/text/BaseColor.html

Я не знаю, где вы нашли документацию по использованию Color, но эта информация должна быть очень старой, потому что мы изменились Color в BaseColor в 2009 году.

Чтобы избежать дальнейших проблем, используйте последние версии и всегда заходите на официальный веб-сайт .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...