我正在C#中使用itext7,我只想使用一个段落,第一个字符需要使用不同的颜色。有什么办法吗?在iText5中有一块东西,但是在iText7中不可用,所以我此刻陷入困境。
答案 0 :(得分:1)
没有块,但是您可以添加具有不同特征的段落字符串。
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST));
Document doc = new Document(pdfDoc);
Paragraph p = new Paragraph();
string original = "Some text";
string first = original.Substring(0, 1);
p.Add(new Text(first)
.SetFontColor(ColorConstants.BLUE));
p.Add(original.Substring(1, original.Length - 1));
doc.Add(p);
doc.Close();
这应该创建一个PDF文件,其中“ ome text”为黑色,而“ S”为蓝色。
相关文档(Colored Text example)和Paragraph的API。
答案 1 :(得分:1)
您可以在段落中添加文本并设置颜色,然后再将其添加到段落。
var dotstring = new Text("$");
var cashstring = new Text("1.000,-");
dotstring.SetFontColor(DeviceCmyk.MAGENTA);
var NummerParagraph = new Paragraph();
NummerParagraph.Add(dotstring);
NummerParagraph.Add(cashstring);
这是一个简单的解决方案,因为我的第一个字母是静态的,我知道它是什么。 如果您不知道字符串的第一个字母,AndréLemos 发布的另一种解决方案会更好。