Невозможно установить цвет текста PDF с помощью Itextsharp и c#

#c# #pdf #itext

Вопрос:

Я пытаюсь установить цвет текста PDF с помощью Itextsharp и c#.

Ниже приведен фрагмент кода.

Средство чтения iTextSharp.text.pdf.PdfReader = новый средство чтения iTextSharp.text.pdf.PdfReader(путь к исходному файлу); средство чтения iTextSharp.text.pdf.PdfReader = новый средство чтения iTextSharp.text.pdf.PdfReader(путь к наложенному файлу);

         PdfStamper stamper = new PdfStamper(reader, new FileStream(outputFile, FileMode.Create));
        int inputDocumentPages = reader.NumberOfPages;
        int overlayDocumentPages = sReader.NumberOfPages;
        PdfContentByte background;            
        for (int i = 1; i <= inputDocumentPages; i  )
        {
            if (i <= overlayDocumentPages)
            {
                PdfImportedPage page = stamper.GetImportedPage(sReader, i);
                background = stamper.GetUnderContent(i);
                background.SetColorFill(BaseColor.RED);
                background.Fill();
                background.AddTemplate(page, 0, 0);
                PdfGState state = new PdfGState();
                state.FillOpacity = 0.6f;
                state.BlendMode = PdfGState.BM_MULTIPLY;
                background.SetGState(state);
                background.SaveState();

            }
        }
        stamper.Close();
 

Комментарии:

1. Пожалуйста, объясните более четко, чего вы хотите достичь. Шрифты не имеют цвета в PDF-файлах (если только вы не говорите о шрифтах типа 3)…

2. Я хочу изменить цвет для нового контента. Пожалуйста, предложите.

3. Ладно, тогда я неправильно тебя понял. В этом случае ответ Пауло Муниса покажет вам, что делать.

Ответ №1:

 iTextSharp.text.Font fontNormalBlack = iTextSharp.text.FontFactory.GetFont("Arial", 12, iTextSharp.text.Font.NORMAL, new BaseColor(Color.Blue));
iTextSharp.text.Font fontNormalBlue = iTextSharp.text.FontFactory.GetFont("Arial", 12, iTextSharp.text.Font.NORMAL, new BaseColor(Color.Black));


Document doc = new Document(PageSize.A4);

string caminho = appPath   "//data//temp//"   Guid.NewGuid().ToString()   ".pdf";
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(caminho, FileMode.Create));


doc.SetMargins(70, 70, 70, 70);
doc.AddCreationDate();
doc.Open();

Paragraph paragrafo = new Paragraph();


paragrafo.Alignment = Element.ALIGN_LEFT;
paragrafo.Add(new Chunk("Name: ", fontNormalBlack));
paragrafo.Add(new Chunk("Paulo Muniz"   "nn", fontNormalBlue));
paragrafo.Add(new Chunk("Birthday: ", fontNormalBlack));
paragrafo.Add(new Chunk("24/07"   "n", fontNormalBlue));
doc.Add(paragrafo);


doc.Close();
 

Комментарии:

1. Вместо new BaseColor(Color.Blue) этого попробуйте new iTextSharp.text.BaseColor(System.Drawing.ColorTranslator.FromHtml("#0000ff")) проделать то же самое с черным цветом. Кроме того, вот хорошая ссылка, которая поможет вам сориентироваться в ней: csharpdoc.hotexamples.com/namespace/iTextSharp.text

2. или: Color.FromArgb(0, 153, 255);

3. Я хочу изменить цвет для нового контента. Пожалуйста, предложите.

4. я попробовал это и не получилось. TextSharp.text.Базовый цвет(Система. Рисование. ЦветоПередатчик. fromHtml(«#0000ff»))

5. @svkrishna гавва то, что ты пробовал, не похоже на то, что я отправил. Если вы добавляете комментарии, пожалуйста, по крайней мере, убедитесь, что вы копируете точный текст. Кроме того, вы проверили ссылку, которую я отправил вам выше? Что там написано?