#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.text2. или:
Color.FromArgb(0, 153, 255);
3. Я хочу изменить цвет для нового контента. Пожалуйста, предложите.
4. я попробовал это и не получилось. TextSharp.text.Базовый цвет(Система. Рисование. ЦветоПередатчик. fromHtml(«#0000ff»))
5. @svkrishna гавва то, что ты пробовал, не похоже на то, что я отправил. Если вы добавляете комментарии, пожалуйста, по крайней мере, убедитесь, что вы копируете точный текст. Кроме того, вы проверили ссылку, которую я отправил вам выше? Что там написано?