有没有办法使用 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 发布的另一个解决方案会更好。