Colored text
Examples written in answer to questions such as:
coloredletters
JAVA
JAVA
/*
This file is part of the iText (R) project.
Copyright (c) 1998-2023 Apryse Group NV
Authors: Apryse Software.
For more information, please contact iText Software at this address:
sales@itextpdf.com
*/
package com.itextpdf.samples.sandbox.objects;
import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.kernel.colors.ColorConstants;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ColoredLetters {
public static final String DEST = "./target/sandbox/objects/colored_letters.pdf";
public static void main(String[] args) throws Exception {
File file = new File(DEST);
file.getParentFile().mkdirs();
new ColoredLetters().manipulatePdf(DEST);
}
protected void manipulatePdf(String dest) throws IOException {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
PdfFont helveticaFont = PdfFontFactory.createFont(StandardFonts.HELVETICA);
PdfFont helveticaBoldFont = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
Paragraph p = new Paragraph();
String s = "all text is written in red, except the letters b and g; they are written in blue and green.";
for (int i = 0; i < s.length(); i++) {
p.add(returnCorrectColor(s.charAt(i), helveticaFont, helveticaBoldFont));
}
doc.add(p);
doc.close();
}
private static Text returnCorrectColor(char letter, PdfFont helveticaFont, PdfFont helveticaBoldFont) {
if (letter == 'b') {
return new Text("b")
.setFontColor(ColorConstants.BLUE)
.setFont(helveticaBoldFont);
} else if (letter == 'g') {
return new Text("g")
.setFontColor(ColorConstants.GREEN)
.setFont(helveticaFont)
.setItalic();
} else {
return new Text(String.valueOf(letter))
.setFontColor(ColorConstants.RED)
.setFont(helveticaFont);
}
}
}
C#
C#
using System.IO;
using iText.IO.Font.Constants;
using iText.Kernel.Colors;
using iText.Kernel.Font;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
namespace iText.Samples.Sandbox.Objects
{
public class ColoredLetters
{
public static readonly string DEST = "results/sandbox/objects/colored_letters.pdf";
public static void Main(string[] args)
{
FileInfo file = new FileInfo(DEST);
file.Directory.Create();
new ColoredLetters().ManipulatePdf(DEST);
}
protected void ManipulatePdf(string dest)
{
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
PdfFont helveticaFont = PdfFontFactory.CreateFont(StandardFonts.HELVETICA);
PdfFont helveticaBoldFont = PdfFontFactory.CreateFont(StandardFonts.HELVETICA_BOLD);
Paragraph p = new Paragraph();
string s = "all text is written in red, except the letters b and g; they are written in blue and green.";
for (int i = 0; i < s.Length; i++)
{
p.Add(ReturnCorrectColor(s[i], helveticaFont, helveticaBoldFont));
}
doc.Add(p);
doc.Close();
}
private static Text ReturnCorrectColor(char letter, PdfFont helveticaFont, PdfFont helveticaBoldFont)
{
if (letter == 'b')
{
return new Text("b")
.SetFontColor(ColorConstants.BLUE)
.SetFont(helveticaBoldFont);
}
else if (letter == 'g')
{
return new Text("g")
.SetFontColor(ColorConstants.GREEN)
.SetFont(helveticaFont)
.SetItalic();
}
else
{
return new Text(letter.ToString())
.SetFontColor(ColorConstants.RED)
.SetFont(helveticaFont);
}
}
}
}
coloredtext
JAVA
JAVA
/*
This file is part of the iText (R) project.
Copyright (c) 1998-2023 Apryse Group NV
Authors: Apryse Software.
For more information, please contact iText Software at this address:
sales@itextpdf.com
*/
package com.itextpdf.samples.sandbox.objects;
import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.kernel.colors.ColorConstants;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.layout.Canvas;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ColoredText {
public static final String DEST = "./target/sandbox/objects/colored_text.pdf";
public static void main(String[] args) throws Exception {
File file = new File(DEST);
file.getParentFile().mkdirs();
new ColoredText().manipulatePdf(DEST);
}
protected void manipulatePdf(String dest) throws IOException {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
Text redText = new Text("This text is red. ")
.setFontColor(ColorConstants.RED)
.setFont(PdfFontFactory.createFont(StandardFonts.HELVETICA));
Text blueText = new Text("This text is blue and bold. ")
.setFontColor(ColorConstants.BLUE)
.setFont(PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD));
Text greenText = new Text("This text is green and italic. ")
.setFontColor(ColorConstants.GREEN)
.setFont(PdfFontFactory.createFont(StandardFonts.HELVETICA_OBLIQUE));
Paragraph p1 = new Paragraph(redText).setMargin(0);
doc.add(p1);
Paragraph p2 = new Paragraph().setMargin(0);
p2.add(blueText);
p2.add(greenText);
doc.add(p2);
new Canvas(new PdfCanvas(pdfDoc.getLastPage()), new Rectangle(36, 600, 108, 160))
.add(p1)
.add(p2);
doc.close();
}
}
C#
C#
using System.IO;
using iText.IO.Font.Constants;
using iText.Kernel.Colors;
using iText.Kernel.Font;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas;
using iText.Layout;
using iText.Layout.Element;
namespace iText.Samples.Sandbox.Objects
{
public class ColoredText
{
public static readonly string DEST = "results/sandbox/objects/colored_text.pdf";
public static void Main(string[] args)
{
FileInfo file = new FileInfo(DEST);
file.Directory.Create();
new ColoredText().ManipulatePdf(DEST);
}
protected void ManipulatePdf(string dest)
{
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
Text redText = new Text("This text is red. ")
.SetFontColor(ColorConstants.RED)
.SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA));
Text blueText = new Text("This text is blue and bold. ")
.SetFontColor(ColorConstants.BLUE)
.SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA_BOLD));
Text greenText = new Text("This text is green and italic. ")
.SetFontColor(ColorConstants.GREEN)
.SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA_OBLIQUE));
Paragraph p1 = new Paragraph(redText).SetMargin(0);
doc.Add(p1);
Paragraph p2 = new Paragraph().SetMargin(0);
p2.Add(blueText);
p2.Add(greenText);
doc.Add(p2);
new Canvas(new PdfCanvas(pdfDoc.GetLastPage()), new Rectangle(36, 600, 108, 160))
.Add(p1)
.Add(p2);
doc.Close();
}
}
}