有没有办法使用 iText7 将第一个字符设为不同的颜色?
Is there a way to just make the first character a different color using iText7?
我在 C# 中使用 itext7,我只想使用一个段落,第一个字符需要使用不同的颜色。有什么办法吗?在 iText5 中有块的东西,但这在 iText7 中不可用,所以我现在被困住了。
没有块,但您可以添加具有不同特征的段落字符串。
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) and the API for Paragraph.
您可以将 Text 添加到 Paragraph 并在将其添加到 Paragraph[=] 之前设置颜色19=]。
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 发布的另一个解决方案会更好。
我在 C# 中使用 itext7,我只想使用一个段落,第一个字符需要使用不同的颜色。有什么办法吗?在 iText5 中有块的东西,但这在 iText7 中不可用,所以我现在被困住了。
没有块,但您可以添加具有不同特征的段落字符串。
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) and the API for Paragraph.
您可以将 Text 添加到 Paragraph 并在将其添加到 Paragraph[=] 之前设置颜色19=]。
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 发布的另一个解决方案会更好。